[CalendarServer-changes] [15085] CalendarServer/branches/users/sredmond/clientsim/contrib/ performance/loadtest/profiles.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Aug 31 16:45:02 PDT 2015


Revision: 15085
          http://trac.calendarserver.org//changeset/15085
Author:   sredmond at apple.com
Date:     2015-08-31 16:45:02 -0700 (Mon, 31 Aug 2015)
Log Message:
-----------
Updates inviter for base functionality

Modified Paths:
--------------
    CalendarServer/branches/users/sredmond/clientsim/contrib/performance/loadtest/profiles.py

Modified: CalendarServer/branches/users/sredmond/clientsim/contrib/performance/loadtest/profiles.py
===================================================================
--- CalendarServer/branches/users/sredmond/clientsim/contrib/performance/loadtest/profiles.py	2015-08-31 23:44:48 UTC (rev 15084)
+++ CalendarServer/branches/users/sredmond/clientsim/contrib/performance/loadtest/profiles.py	2015-08-31 23:45:02 UTC (rev 15085)
@@ -73,12 +73,10 @@
     random = random
 
     def __init__(self, enabled, interval, **params):
-        print("Creating new profile: %s" % (self.__class__.__name__,))
         self.enabled = enabled
         if isinstance(interval, Number):
             interval = FixedDistribution(interval)
         self._interval = interval
-        print "**" + str(self._interval)
         self._params = params
         self.setDistributions(**params)
         self._initialized = False
@@ -285,6 +283,7 @@
         calendar = self._getRandomCalendar()
         if not calendar:
             return succeed(None)
+        # print "Going to add an event"
 
         # Form a new event by modifying fields of the template event
         vcalendar = eventTemplate.duplicate()
@@ -300,7 +299,9 @@
         vevent.replaceProperty(Property("DTEND", dtend))
 
         href = '%s%s.ics' % (calendar.url, uid)
+        # print("Vcalendar is", vcalendar)
         event = Event(self._client.serializeLocation(), href, None, component=vcalendar)
+        # print("ABout to add event", event.component)
         d = self._client.addEvent(href, event)
         return self._newOperation("create{event}", d)
 
@@ -476,13 +477,9 @@
 class InviterBase(EventUpdaterBase):
     def setDistributions(
         self,
-        numInvitees=NormalDistribution(7, 2),
-        sendInvitationDistribution=NormalDistribution(600, 60),
-        numInviteesDistribution=UniformDiscreteDistribution(range(-10, 11))
+        numInviteesDistribution=NormalDistribution(7, 2)
     ):
-        self.enabled = enabled
-        self._sendInvitationDistribution = sendInvitationDistribution
-        self._numInvitees = inviteeDistribution
+        self._numInvitees = numInviteesDistribution
 
     def _findUninvitedRecord(self, vevent):
         pass
@@ -517,16 +514,25 @@
         raise NotImplementedError
 
 class Inviter(InviterBase):
+    def modifyEvent(self, href, vevent):
+        print("*" * 16)
+        numToInvite = max(0, int(self._numInvitees.sample()))
+        deferreds = []
+        for _ignore_i in xrange(numToInvite):
+            number = random.randint(1, 50)
+            record = self._sim.getUserRecord(number)
+            attendee = self._buildAttendee(record.commonName, record.email)
+            deferreds.append(self._client.addEventAttendee(href, attendee))
+            vevent.addProperty(attendee)
+        # d = self._client.addInvite(event)
+        # deferreds.append(d)
+        return DeferredList(deferreds)
 
-    def initialize(self):
-        self.action = self.test
-        return succeed(None)
 
     def test(self):
         event = self._getRandomEvent()
         if not event:
             return succeed(None)
-        print("Found event: " + str(event))
         href = event.url
 
         attendee = Property(
@@ -647,6 +653,8 @@
         # Oops, either no events or no calendars to play with.
         return succeed(None)
 
+    # action = invite
+
 class Relocater(InviterBase):
     def setDistributions(
         self,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20150831/57e376a2/attachment.html>


More information about the calendarserver-changes mailing list