Am 29. Juli 2017 16:49:21 MESZ schrieb Philippe Mouawad <[email protected]>: >Hello, >Note there is a PR for >https://bz.apache.org/bugzilla/show_bug.cgi?id=60274: > > - https://github.com/apache/jmeter/pull/233
So we should look at that pr again after the current release. Felix > >Regards > > > >On Sat, Jul 29, 2017 at 4:44 PM, Felix Schumacher < >[email protected]> wrote: > >> Am 27.07.2017 um 03:35 schrieb David Luu: >> >>> JMeter has random controller, and I was wondering how one would set >up >>> weighted ratios of different samplers executing at different >frequency in >>> the random draw. >>> >>> For example comparing to the option available in locust.io by >specifying >>> the ratio of execution frequency: >>> >>> >http://docs.locust.io/en/latest/writing-a-locustfile.html#declaring-tasks >>> >http://docs.locust.io/en/latest/writing-a-locustfile.html#tasks-attribute >>> >>> What is the equivalent for JMeter, if available? >>> >>> Would it be nesting random controllers so the the less frequent >samplers >>> go >>> into yet another random controller within a root random controller >and >>> continue the nesting process for the lesser frequent samplers and >the >>> highest weighted one is under root random controller? >>> >> I would use a switch controller together with some jsr223 scripting. >You >> could use: >> - test action >> - jsr223 preprocessor (for code see below) >> - switch controller (switching on ${switchValue} which is set in >> preprocessor above) >> - simple controller (named with one of the possible values of >> ${switchValue} see below) >> - simple controller (..) >> ... >> >> Code for the preprocessor: >> ---start snippet--- >> weightsMap = ["first": 5, "second": 3, "third": 1] >> >> def computeSwitchValue(weightsMap) { >> weightsSum = weightsMap.values().sum() >> r = Math.random() * weightsSum >> sum = 0.0 >> for (entry in weightsMap.entrySet()) { >> switchValue = entry.key >> sum += entry.value >> if (sum >= r) { >> return switchValue >> } >> } >> } >> >> vars.put("switchValue", computeSwitchValue(weightsMap)) >> ---end snippet--- >> >> Don't forget to check "Cache compiled script if available" >> >> The weights are defined in weightsMap where the keys are the names of >the >> controllers inside the switch controller and the values are the >actual >> weights. >> >> Hope this helps, >> Felix >> >>> >>> Thanks, >>> David >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
