[CalendarServer-changes] [7092] CalendarServer/trunk/contrib/performance
source_changes at macosforge.org
source_changes at macosforge.org
Wed Mar 2 06:56:31 PST 2011
Revision: 7092
http://trac.macosforge.org/projects/calendarserver/changeset/7092
Author: exarkun at twistedmatrix.com
Date: 2011-03-02 06:56:30 -0800 (Wed, 02 Mar 2011)
Log Message:
-----------
Shuffle vcalendar creation functions around for better re-use; fix some bugs introduced while adding recurrence/autoaccept benchmarks.
Modified Paths:
--------------
CalendarServer/trunk/contrib/performance/_event_change.py
CalendarServer/trunk/contrib/performance/_event_create.py
CalendarServer/trunk/contrib/performance/benchmarks/event.py
CalendarServer/trunk/contrib/performance/benchmarks/event_add_attendee.py
CalendarServer/trunk/contrib/performance/benchmarks/event_autoaccept.py
CalendarServer/trunk/contrib/performance/benchmarks/event_change_summary.py
CalendarServer/trunk/contrib/performance/benchmarks/unbounded_recurrence.py
CalendarServer/trunk/contrib/performance/benchmarks/unbounded_recurrence_autoaccept.py
Modified: CalendarServer/trunk/contrib/performance/_event_change.py
===================================================================
--- CalendarServer/trunk/contrib/performance/_event_change.py 2011-03-01 21:07:21 UTC (rev 7091)
+++ CalendarServer/trunk/contrib/performance/_event_change.py 2011-03-02 14:56:30 UTC (rev 7092)
@@ -32,8 +32,9 @@
from httpclient import StringProducer
from benchlib import initialize, sample
-from event import makeEvent
+from _event_create import makeEvent
+
@inlineCallbacks
def measure(host, port, dtrace, attendeeCount, samples, fieldName,
replacer, eventPerSample=False):
Modified: CalendarServer/trunk/contrib/performance/_event_create.py
===================================================================
--- CalendarServer/trunk/contrib/performance/_event_create.py 2011-03-01 21:07:21 UTC (rev 7091)
+++ CalendarServer/trunk/contrib/performance/_event_create.py 2011-03-02 14:56:30 UTC (rev 7092)
@@ -18,7 +18,9 @@
Various helpers for event-creation benchmarks.
"""
+from uuid import uuid4
from urllib2 import HTTPDigestAuthHandler
+from datetime import datetime, timedelta
from twisted.internet.defer import inlineCallbacks, returnValue
from twisted.web.http_headers import Headers
@@ -58,6 +60,8 @@
END:VCALENDAR
"""
+SUMMARY = "Some random thing"
+
vevent = """\
BEGIN:VEVENT
UID:%(UID)s
@@ -69,7 +73,7 @@
%(ORGANIZER)s\
%(ATTENDEES)s\
SEQUENCE:0
-SUMMARY:Some random thing
+SUMMARY:%(SUMMARY)s
TRANSP:OPAQUE
END:VEVENT
"""
@@ -85,6 +89,10 @@
D:urn:uuid:user%(SEQUENCE)02d
"""
+def formatDate(d):
+ return ''.join(filter(str.isalnum, d.isoformat()))
+
+
def makeOrganizer(sequence):
return organizer % {'SEQUENCE': sequence}
@@ -104,6 +112,7 @@
'UID': uid,
'START': formatDate(start),
'END': formatDate(end),
+ 'SUMMARY': SUMMARY,
'ORGANIZER': makeOrganizer(organizerSequence),
'ATTENDEES': ''.join(attendees),
'RRULE': rrule,
@@ -111,11 +120,19 @@
}
+def makeEvent(i, organizerSequence, attendeeCount):
+ base = datetime(2010, 7, 30, 11, 15, 00)
+ interval = timedelta(0, 5)
+ duration = timedelta(0, 3)
+ return makeVCalendar(
+ uuid4(),
+ base + i * interval,
+ base + i * interval + duration,
+ None,
+ organizerSequence,
+ makeAttendees(attendeeCount))
-def formatDate(d):
- return ''.join(filter(str.isalnum, d.isoformat()))
-
@inlineCallbacks
def measure(calendar, organizerSequence, events, host, port, dtrace, samples):
"""
Modified: CalendarServer/trunk/contrib/performance/benchmarks/event.py
===================================================================
--- CalendarServer/trunk/contrib/performance/benchmarks/event.py 2011-03-01 21:07:21 UTC (rev 7091)
+++ CalendarServer/trunk/contrib/performance/benchmarks/event.py 2011-03-02 14:56:30 UTC (rev 7092)
@@ -19,26 +19,9 @@
"""
from itertools import count
-from uuid import uuid4
-from datetime import datetime, timedelta
-from _event_create import (
- makeAttendees, makeVCalendar, formatDate, measure as _measure)
+from _event_create import makeEvent, measure as _measure
-
-def makeEvent(i, organizerSequence, attendeeCount):
- base = datetime(2010, 7, 30, 11, 15, 00)
- interval = timedelta(0, 5)
- duration = timedelta(0, 3)
- return makeVCalendar(
- uuid4(),
- base + i * interval,
- base + i * interval + duration,
- None,
- organizerSequence,
- makeAttendees(attendeeCount))
-
-
def measure(host, port, dtrace, attendeeCount, samples):
calendar = "event-creation-benchmark"
organizerSequence = 1
Modified: CalendarServer/trunk/contrib/performance/benchmarks/event_add_attendee.py
===================================================================
--- CalendarServer/trunk/contrib/performance/benchmarks/event_add_attendee.py 2011-03-01 21:07:21 UTC (rev 7091)
+++ CalendarServer/trunk/contrib/performance/benchmarks/event_add_attendee.py 2011-03-02 14:56:30 UTC (rev 7092)
@@ -14,11 +14,10 @@
# limitations under the License.
##
-import _event_change
+from _event_change import measure as _measure
+from _event_create import makeAttendees
-from event import makeAttendees
-
def measure(host, port, dtrace, attendeeCount, samples):
attendees = makeAttendees(attendeeCount)
@@ -29,8 +28,8 @@
# Find the last CREATED line
created = event.rfind('CREATED')
# Insert the attendees before it.
- return event[:created] + attendees + event[created:]
+ return event[:created] + ''.join(attendees) + event[created:]
- return _event_change.measure(
+ return _measure(
host, port, dtrace, 0, samples, "add-attendee",
addAttendees, eventPerSample=True)
Modified: CalendarServer/trunk/contrib/performance/benchmarks/event_autoaccept.py
===================================================================
--- CalendarServer/trunk/contrib/performance/benchmarks/event_autoaccept.py 2011-03-01 21:07:21 UTC (rev 7091)
+++ CalendarServer/trunk/contrib/performance/benchmarks/event_autoaccept.py 2011-03-02 14:56:30 UTC (rev 7092)
@@ -24,7 +24,7 @@
from datetime import datetime, timedelta
from _event_create import (
- makeAttendees, makeVCalendar, formatDate, measure as _measure)
+ makeAttendees, makeVCalendar, measure as _measure)
def makeEvent(i, organizerSequence, attendeeCount):
Modified: CalendarServer/trunk/contrib/performance/benchmarks/event_change_summary.py
===================================================================
--- CalendarServer/trunk/contrib/performance/benchmarks/event_change_summary.py 2011-03-01 21:07:21 UTC (rev 7091)
+++ CalendarServer/trunk/contrib/performance/benchmarks/event_change_summary.py 2011-03-02 14:56:30 UTC (rev 7092)
@@ -14,15 +14,14 @@
# limitations under the License.
##
-from event import SUMMARY
+from _event_create import SUMMARY
+from _event_change import measure as _measure
-import _event_change
-
def replaceSummary(event, i):
return event.replace(SUMMARY, 'Replacement summary %d' % (i,))
def measure(host, port, dtrace, attendeeCount, samples):
- return _event_change.measure(
+ return _measure(
host, port, dtrace, attendeeCount, samples, "change-summary",
replaceSummary)
Modified: CalendarServer/trunk/contrib/performance/benchmarks/unbounded_recurrence.py
===================================================================
--- CalendarServer/trunk/contrib/performance/benchmarks/unbounded_recurrence.py 2011-03-01 21:07:21 UTC (rev 7091)
+++ CalendarServer/trunk/contrib/performance/benchmarks/unbounded_recurrence.py 2011-03-02 14:56:30 UTC (rev 7092)
@@ -23,7 +23,7 @@
from datetime import datetime, timedelta
from _event_create import (
- makeAttendees, makeVCalendar, formatDate, measure as _measure)
+ makeAttendees, makeVCalendar, measure as _measure)
def makeEvent(i, organizerSequence, attendeeCount):
"""
Modified: CalendarServer/trunk/contrib/performance/benchmarks/unbounded_recurrence_autoaccept.py
===================================================================
--- CalendarServer/trunk/contrib/performance/benchmarks/unbounded_recurrence_autoaccept.py 2011-03-01 21:07:21 UTC (rev 7091)
+++ CalendarServer/trunk/contrib/performance/benchmarks/unbounded_recurrence_autoaccept.py 2011-03-02 14:56:30 UTC (rev 7092)
@@ -23,7 +23,7 @@
from datetime import datetime, timedelta
from _event_create import (
- makeAttendees, makeVCalendar, formatDate, measure as _measure)
+ makeAttendees, makeVCalendar, measure as _measure)
def makeEvent(i, organizerSequence, attendeeCount):
"""
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110302/e470f914/attachment-0001.html>
More information about the calendarserver-changes
mailing list