Пример #1
0
 def setParameters(
     self,
     enabled=True,
     sendInvitationDistribution=NormalDistribution(600, 60),
     inviteeDistribution=UniformDiscreteDistribution(range(-10, 11)),
     inviteeClumping=True,
     inviteeCountDistribution=LogNormalDistribution(1.2, 1.2),
     eventStartDistribution=NearFutureDistribution(),
     eventDurationDistribution=UniformDiscreteDistribution([
         15 * 60, 30 * 60,
         45 * 60, 60 * 60,
         120 * 60
     ]),
     recurrenceDistribution=RecurrenceDistribution(False),
     fileAttachPercentage=30,
     fileSizeDistribution=NormalDistribution(1024, 1),
     inviteeLookupPercentage=50,
 ):
     self.enabled = enabled
     self._sendInvitationDistribution = sendInvitationDistribution
     self._inviteeDistribution = inviteeDistribution
     self._inviteeClumping = inviteeClumping
     self._inviteeCountDistribution = inviteeCountDistribution
     self._eventStartDistribution = eventStartDistribution
     self._eventDurationDistribution = eventDurationDistribution
     self._recurrenceDistribution = recurrenceDistribution
     self._fileAttachPercentage = fileAttachPercentage
     self._fileSizeDistribution = fileSizeDistribution
     self._inviteeLookupPercentage = inviteeLookupPercentage
Пример #2
0
 def setParameters(self,
                   enabled=True,
                   interval=60,
                   descriptionLengthDistribution=NormalDistribution(10, 2)):
     self.enabled = enabled
     self._interval = interval
     self._descriptionLength = descriptionLengthDistribution
Пример #3
0
 def setParameters(self,
                   enabled=True,
                   interval=60,
                   titleLengthDistribution=NormalDistribution(10, 2)):
     self.enabled = enabled
     self._interval = interval
     self._titleLength = titleLengthDistribution
Пример #4
0
 def setParameters(self,
                   enabled=True,
                   sendInvitationDistribution=NormalDistribution(600, 60),
                   inviteeDistribution=UniformDiscreteDistribution(
                       range(-10, 11))):
     self.enabled = enabled
     self._sendInvitationDistribution = sendInvitationDistribution
     self._inviteeDistribution = inviteeDistribution
Пример #5
0
 def setParameters(
     self,
     enabled=True,
     acceptDelayDistribution=NormalDistribution(1200, 60)
 ):
     self.enabled = enabled
     self._accepting = set()
     self._acceptDelayDistribution = acceptDelayDistribution
Пример #6
0
 def setParameters(
     self,
     enabled=True,
     interval=60,
     fileSizeDistribution=NormalDistribution(1024, 1),
 ):
     self.enabled = enabled
     self._interval = interval
     self._fileSize = fileSizeDistribution
Пример #7
0
    def test_loadPopulationParameters(self):
        """
        Client weights and profiles are loaded from the [clients]
        section of the configuration file specified.
        """
        config = FilePath(self.mktemp())
        config.setContent(
            writePlistToString(
                {
                    "clients": [
                        {
                            "software": "contrib.performance.loadtest.ical.OS_X_10_6",
                            "params": {
                                "foo": "bar"
                            },
                            "profiles": [
                                {
                                    "params": {
                                        "interval": 25,
                                        "eventStartDistribution": {
                                            "type": "contrib.performance.stats.NormalDistribution",
                                            "params": {
                                                "mu": 123,
                                                "sigma": 456,
                                            }
                                        }
                                    },
                                    "class": "contrib.performance.loadtest.profiles.Eventer"
                                }
                            ],
                            "weight": 3,
                        }
                    ]
                }
            )
        )

        sim = LoadSimulator.fromCommandLine(
            ['--config', config.path, '--clients', config.path]
        )
        expectedParameters = PopulationParameters()
        expectedParameters.addClient(
            3,
            ClientType(
                OS_X_10_6,
                {"foo": "bar"},
                [
                    ProfileType(
                        Eventer, {
                            "interval": 25,
                            "eventStartDistribution": NormalDistribution(123, 456)
                        }
                    )
                ]
            )
        )
        self.assertEquals(sim.parameters, expectedParameters)
Пример #8
0
 def setParameters(
         self,
         enabled=True,
         interval=25,
         eventStartDistribution=NearFutureDistribution(),
         eventDurationDistribution=UniformDiscreteDistribution(
             [15 * 60, 30 * 60, 45 * 60, 60 * 60, 120 * 60]),
         recurrenceDistribution=RecurrenceDistribution(False),
         fileAttachPercentage=30,
         fileSizeDistribution=NormalDistribution(1024, 1),
 ):
     self.enabled = enabled
     self._interval = interval
     self._eventStartDistribution = eventStartDistribution
     self._eventDurationDistribution = eventDurationDistribution
     self._recurrenceDistribution = recurrenceDistribution
     self._fileAttachPercentage = fileAttachPercentage
     self._fileSizeDistribution = fileSizeDistribution