You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Ranieri Mazili <ra...@gmail.com> on 2015/10/02 16:21:53 UTC

Re: Split Aggregate Report by Loop Count

Hi Deepak,

thank for your help... We're almost there :)
Please, take a look at the image
http://s30.postimg.org/u7e2aqak1/jmeter_question.png
As you can see in the image above, the function
prev.setSampleLabel(String.valueOf(vars.get("loopCount")) + "-" +
prev.getSampleLabel()); doesn't change Transaction Controllers label.
Is there a way to make this BeanShell PostProcessor change Transaction
Controllers label too?
The other names are fine.

Thanks!
--
Ranieri

On Wed, Sep 30, 2015 at 4:18 PM, Deepak Shetty <sh...@gmail.com> wrote:

> Hi
> images dont make it to the mailing list.
>
> But in general the aggregation is based on the sampler name - so if you
> vary the sampler name - you can achieve what you want.
> So if you use something like __counter (
> http://jmeter.apache.org/usermanual/functions.html#__counter) you can get
> ThreadGroup (Threads=10, Loop count=3)
> +Test Action
> ++Beanshell Pre Processor name = ${__counter(TRUE,loopCount)}set ==>
> initialize a counter and increment it every time
> Generate the same number for different threads , but a new number every
> time its called i.e. a new loop
> +${loopCount} -Sampler1  ==> append it
> +${loopCount} -Sampler2 ==> append it
>
> Note that every time counter is run a new number will be created.
> If you have fewer sampler it is an option
> If you have many samplers you obviously dont want to go and specify this on
> every sampler so you could do something like
> ThreadGroup
> +Test Action
> ++Beanshell Pre Processor name = ${__counter(TRUE,loopCount)}set
> ==>initiliase loop
> +Sampler1
> +Sampler2
> +BeanShell PostProcessor
>     prev.setSampleLabel(String.valueOf(vars.get("loopCount")) + "-" +
> prev.getSampleLabel());
>
> regards
> deepak
>
>
>
> On Wed, Sep 30, 2015 at 11:52 AM, Ranieri Mazili <ra...@gmail.com>
> wrote:
>
> > Hello,
> >
> > I have a JMeter test where I see the results on a Aggregate Report.
> > Currently my JMeter test has 7 steps as you can see in the image below.
> > [image: Inline image 1]
> >
> > If I set my test to run 3 times (Loop count), the aggregate report
> > obviously will aggregate the results, showing the same 7 steps on my
> > aggregate report.
> > I would like to split the results by Loop number, for example, for the
> > step 1 (1. Login), I would like to have:
> > 1.1 Login
> > 1.2 Login
> > 1.3 Login
> >
> > Is there a way to make it work this way?
> >
> > Thanks
> > --
> > Ranieri
> >
>

Re: Split Aggregate Report by Loop Count

Posted by Deepak Shetty <sh...@gmail.com>.
Hi
Im guessing that because Post Processors only apply to samplers , they dont
execute for the Transaction controller.
Specifying the loopCount directly will work.
Another alternative that seems to work is
ThreadGroup
+BeanShellListener - Essential that this is first , before any other
listener ,
   sampleResult.setSampleLabel(String.valueOf(vars.get("loopCount")) + "-"
+ sampleResult.getSampleLabel());
+Test Action
++Beanshell Pre Processor name = ${__counter(TRUE,loopCount)}set
==>initiliase loop
+Sampler1
+Sampler2
+TransactionController1
++Sampler 3
++Sampler 4
+AggregateReport

On Fri, Oct 2, 2015 at 7:32 AM, Ranieri Mazili <ra...@gmail.com> wrote:

> Hi,
>
> don't know if what I did is the way to solve the problem but I think I've
> solved. Look at http://s7.postimg.org/rp7uxx5zf/jmeter_question_answer.png
>
> I've used ${loopCount} create the Transaction Controllers name and Bean
> Shell PostProcessor for the others.
>
> Thanks
> --
> Ranieri
>
> On Fri, Oct 2, 2015 at 11:21 AM, Ranieri Mazili <ra...@gmail.com>
> wrote:
>
> > Hi Deepak,
> >
> > thank for your help... We're almost there :)
> > Please, take a look at the image
> > http://s30.postimg.org/u7e2aqak1/jmeter_question.png
> > As you can see in the image above, the function
> > prev.setSampleLabel(String.valueOf(vars.get("loopCount")) + "-" +
> > prev.getSampleLabel()); doesn't change Transaction Controllers label.
> > Is there a way to make this BeanShell PostProcessor change Transaction
> > Controllers label too?
> > The other names are fine.
> >
> > Thanks!
> > --
> > Ranieri
> >
> > On Wed, Sep 30, 2015 at 4:18 PM, Deepak Shetty <sh...@gmail.com>
> wrote:
> >
> >> Hi
> >> images dont make it to the mailing list.
> >>
> >> But in general the aggregation is based on the sampler name - so if you
> >> vary the sampler name - you can achieve what you want.
> >> So if you use something like __counter (
> >> http://jmeter.apache.org/usermanual/functions.html#__counter) you can
> get
> >> ThreadGroup (Threads=10, Loop count=3)
> >> +Test Action
> >> ++Beanshell Pre Processor name = ${__counter(TRUE,loopCount)}set ==>
> >> initialize a counter and increment it every time
> >> Generate the same number for different threads , but a new number every
> >> time its called i.e. a new loop
> >> +${loopCount} -Sampler1  ==> append it
> >> +${loopCount} -Sampler2 ==> append it
> >>
> >> Note that every time counter is run a new number will be created.
> >> If you have fewer sampler it is an option
> >> If you have many samplers you obviously dont want to go and specify this
> >> on
> >> every sampler so you could do something like
> >> ThreadGroup
> >> +Test Action
> >> ++Beanshell Pre Processor name = ${__counter(TRUE,loopCount)}set
> >> ==>initiliase loop
> >> +Sampler1
> >> +Sampler2
> >> +BeanShell PostProcessor
> >>     prev.setSampleLabel(String.valueOf(vars.get("loopCount")) + "-" +
> >> prev.getSampleLabel());
> >>
> >> regards
> >> deepak
> >>
> >>
> >>
> >> On Wed, Sep 30, 2015 at 11:52 AM, Ranieri Mazili <ra...@gmail.com>
> >> wrote:
> >>
> >> > Hello,
> >> >
> >> > I have a JMeter test where I see the results on a Aggregate Report.
> >> > Currently my JMeter test has 7 steps as you can see in the image
> below.
> >> > [image: Inline image 1]
> >> >
> >> > If I set my test to run 3 times (Loop count), the aggregate report
> >> > obviously will aggregate the results, showing the same 7 steps on my
> >> > aggregate report.
> >> > I would like to split the results by Loop number, for example, for the
> >> > step 1 (1. Login), I would like to have:
> >> > 1.1 Login
> >> > 1.2 Login
> >> > 1.3 Login
> >> >
> >> > Is there a way to make it work this way?
> >> >
> >> > Thanks
> >> > --
> >> > Ranieri
> >> >
> >>
> >
> >
>

Re: Split Aggregate Report by Loop Count

Posted by Ranieri Mazili <ra...@gmail.com>.
Hi,

don't know if what I did is the way to solve the problem but I think I've
solved. Look at http://s7.postimg.org/rp7uxx5zf/jmeter_question_answer.png

I've used ${loopCount} create the Transaction Controllers name and Bean
Shell PostProcessor for the others.

Thanks
--
Ranieri

On Fri, Oct 2, 2015 at 11:21 AM, Ranieri Mazili <ra...@gmail.com> wrote:

> Hi Deepak,
>
> thank for your help... We're almost there :)
> Please, take a look at the image
> http://s30.postimg.org/u7e2aqak1/jmeter_question.png
> As you can see in the image above, the function
> prev.setSampleLabel(String.valueOf(vars.get("loopCount")) + "-" +
> prev.getSampleLabel()); doesn't change Transaction Controllers label.
> Is there a way to make this BeanShell PostProcessor change Transaction
> Controllers label too?
> The other names are fine.
>
> Thanks!
> --
> Ranieri
>
> On Wed, Sep 30, 2015 at 4:18 PM, Deepak Shetty <sh...@gmail.com> wrote:
>
>> Hi
>> images dont make it to the mailing list.
>>
>> But in general the aggregation is based on the sampler name - so if you
>> vary the sampler name - you can achieve what you want.
>> So if you use something like __counter (
>> http://jmeter.apache.org/usermanual/functions.html#__counter) you can get
>> ThreadGroup (Threads=10, Loop count=3)
>> +Test Action
>> ++Beanshell Pre Processor name = ${__counter(TRUE,loopCount)}set ==>
>> initialize a counter and increment it every time
>> Generate the same number for different threads , but a new number every
>> time its called i.e. a new loop
>> +${loopCount} -Sampler1  ==> append it
>> +${loopCount} -Sampler2 ==> append it
>>
>> Note that every time counter is run a new number will be created.
>> If you have fewer sampler it is an option
>> If you have many samplers you obviously dont want to go and specify this
>> on
>> every sampler so you could do something like
>> ThreadGroup
>> +Test Action
>> ++Beanshell Pre Processor name = ${__counter(TRUE,loopCount)}set
>> ==>initiliase loop
>> +Sampler1
>> +Sampler2
>> +BeanShell PostProcessor
>>     prev.setSampleLabel(String.valueOf(vars.get("loopCount")) + "-" +
>> prev.getSampleLabel());
>>
>> regards
>> deepak
>>
>>
>>
>> On Wed, Sep 30, 2015 at 11:52 AM, Ranieri Mazili <ra...@gmail.com>
>> wrote:
>>
>> > Hello,
>> >
>> > I have a JMeter test where I see the results on a Aggregate Report.
>> > Currently my JMeter test has 7 steps as you can see in the image below.
>> > [image: Inline image 1]
>> >
>> > If I set my test to run 3 times (Loop count), the aggregate report
>> > obviously will aggregate the results, showing the same 7 steps on my
>> > aggregate report.
>> > I would like to split the results by Loop number, for example, for the
>> > step 1 (1. Login), I would like to have:
>> > 1.1 Login
>> > 1.2 Login
>> > 1.3 Login
>> >
>> > Is there a way to make it work this way?
>> >
>> > Thanks
>> > --
>> > Ranieri
>> >
>>
>
>