Capturing a threadgroup's end of execution

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Capturing a threadgroup's end of execution

vincent.lortie
Hello,

I was wondering if there was a way in JMeter to identify when all the
threads of a given ThreadGroup have finished executing (a bit like
implementing the TestListener interface allows you to know when an entire
test ends). If there is no straightforward way of doing this is there a
circuitous way?

Thanks in advance,
Vince
Reply | Threaded
Open this post in threaded view
|

Re: Capturing a threadgroup's end of execution

sebb-2-2
Just wondering - why do you need to do this?


S.
On 5/18/05, [hidden email] <[hidden email]> wrote:

> Hello,
>
> I was wondering if there was a way in JMeter to identify when all the
> threads of a given ThreadGroup have finished executing (a bit like
> implementing the TestListener interface allows you to know when an entire
> test ends). If there is no straightforward way of doing this is there a
> circuitous way?
>
> Thanks in advance,
> Vince
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Capturing a threadgroup's end of execution

vincent.lortie
In reply to this post by vincent.lortie
Basically, I have a test plan that has two thread groups in it.

The two groups need to perform their operations concurrently, however, the
second group must run for as long as the first one is running (the run
time of the first group SHOULD NOT vary much but it is not outside the
realm of the reasonable to believe that it COULD vary so it isn't entirely
predictable). Once the first group ends, the second one must perform a
given operation and then also finish.

I was looking for an appropriate trigger to signal the end of a thread
group's execution.

I looked into the conditions under which the testEnded method gets called
in TestListeners and as far as I can discern, each time a thread is ended,
the engine checks if this is the last test thread remaining over all
(including all thread groups) and if it is, the test is considered ended.
So it doesn't seem like the threads, once started, have any recollection
of belonging to a given threadgroup (right?). So it's entirely possible
that there is no such way of tracking the end of all the threads in a
given group, I just wanted to see if that was accurate.

Vince






sebb <[hidden email]>
05/18/2005 02:27 PM
Please respond to "JMeter Users List"

 
        To:     JMeter Users List <[hidden email]>
        cc:
        Subject:        Re: Capturing a threadgroup's end of execution



Just wondering - why do you need to do this?


S.
On 5/18/05, [hidden email] <[hidden email]> wrote:
> Hello,
>
> I was wondering if there was a way in JMeter to identify when all the
> threads of a given ThreadGroup have finished executing (a bit like
> implementing the TestListener interface allows you to know when an
entire
> test ends). If there is no straightforward way of doing this is there a
> circuitous way?
>
> Thanks in advance,
> Vince
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]



Reply | Threaded
Open this post in threaded view
|

Re: Capturing a threadgroup's end of execution

sebb-2-2
At present I don't think there is any communication possible between
different thread groups - apart from properties, which are shared.

One way to achieve what you want would be to set a property in one
group and test it in the other.

The latest CVS code has a property setting function.
Or you can use BeanShell (have a look at the .bshrc files) to set the property.

Your first group would need to have a structure like so:

Thread Group (once only)
- Loop Controller (as many times as needed)
- Some element to set the property, e.g. BeanShell Sampler. This would
generate an extra sample.

S.
On 5/18/05, [hidden email] <[hidden email]> wrote:

> Basically, I have a test plan that has two thread groups in it.
>
> The two groups need to perform their operations concurrently, however, the
> second group must run for as long as the first one is running (the run
> time of the first group SHOULD NOT vary much but it is not outside the
> realm of the reasonable to believe that it COULD vary so it isn't entirely
> predictable). Once the first group ends, the second one must perform a
> given operation and then also finish.
>
> I was looking for an appropriate trigger to signal the end of a thread
> group's execution.
>
> I looked into the conditions under which the testEnded method gets called
> in TestListeners and as far as I can discern, each time a thread is ended,
> the engine checks if this is the last test thread remaining over all
> (including all thread groups) and if it is, the test is considered ended.
> So it doesn't seem like the threads, once started, have any recollection
> of belonging to a given threadgroup (right?). So it's entirely possible
> that there is no such way of tracking the end of all the threads in a
> given group, I just wanted to see if that was accurate.
>
> Vince
>
>
>
>
>
>
> sebb <[hidden email]>
> 05/18/2005 02:27 PM
> Please respond to "JMeter Users List"
>
>
>         To:     JMeter Users List <[hidden email]>
>         cc:
>         Subject:        Re: Capturing a threadgroup's end of execution
>
>
>
> Just wondering - why do you need to do this?
>
>
> S.
> On 5/18/05, [hidden email] <[hidden email]> wrote:
> > Hello,
> >
> > I was wondering if there was a way in JMeter to identify when all the
> > threads of a given ThreadGroup have finished executing (a bit like
> > implementing the TestListener interface allows you to know when an
> entire
> > test ends). If there is no straightforward way of doing this is there a
> > circuitous way?
> >
> > Thanks in advance,
> > Vince
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Capturing a threadgroup's end of execution

vincent.lortie
In reply to this post by vincent.lortie
Aaah thanks,

It hadn't occured to me to use an inner while loop to make sure the last
test element was in fact the last one for a given thread. That should just
about do what I need it to do.

Thanks again,
Vince






sebb <[hidden email]>
05/18/2005 07:30 PM
Please respond to "JMeter Users List"

 
        To:     JMeter Users List <[hidden email]>
        cc:
        Subject:        Re: Capturing a threadgroup's end of execution



At present I don't think there is any communication possible between
different thread groups - apart from properties, which are shared.

One way to achieve what you want would be to set a property in one
group and test it in the other.

The latest CVS code has a property setting function.
Or you can use BeanShell (have a look at the .bshrc files) to set the
property.

Your first group would need to have a structure like so:

Thread Group (once only)
- Loop Controller (as many times as needed)
- Some element to set the property, e.g. BeanShell Sampler. This would
generate an extra sample.

S.
On 5/18/05, [hidden email] <[hidden email]> wrote:
> Basically, I have a test plan that has two thread groups in it.
>
> The two groups need to perform their operations concurrently, however,
the
> second group must run for as long as the first one is running (the run
> time of the first group SHOULD NOT vary much but it is not outside the
> realm of the reasonable to believe that it COULD vary so it isn't
entirely
> predictable). Once the first group ends, the second one must perform a
> given operation and then also finish.
>
> I was looking for an appropriate trigger to signal the end of a thread
> group's execution.
>
> I looked into the conditions under which the testEnded method gets
called
> in TestListeners and as far as I can discern, each time a thread is
ended,
> the engine checks if this is the last test thread remaining over all
> (including all thread groups) and if it is, the test is considered
ended.

> So it doesn't seem like the threads, once started, have any recollection
> of belonging to a given threadgroup (right?). So it's entirely possible
> that there is no such way of tracking the end of all the threads in a
> given group, I just wanted to see if that was accurate.
>
> Vince
>
>
>
>
>
>
> sebb <[hidden email]>
> 05/18/2005 02:27 PM
> Please respond to "JMeter Users List"
>
>
>         To:     JMeter Users List <[hidden email]>
>         cc:
>         Subject:        Re: Capturing a threadgroup's end of execution
>
>
>
> Just wondering - why do you need to do this?
>
>
> S.
> On 5/18/05, [hidden email] <[hidden email]> wrote:
> > Hello,
> >
> > I was wondering if there was a way in JMeter to identify when all the
> > threads of a given ThreadGroup have finished executing (a bit like
> > implementing the TestListener interface allows you to know when an
> entire
> > test ends). If there is no straightforward way of doing this is there
a

> > circuitous way?
> >
> > Thanks in advance,
> > Vince
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]



Reply | Threaded
Open this post in threaded view
|

Re: Capturing a threadgroup's end of execution

sebb-2-2
As the Perl folks say: TMTOWTDI !

Though I've just realised that each thread will reach this stage
separately, so it may not help after all ...

S.
On 5/19/05, [hidden email] <[hidden email]> wrote:

> Aaah thanks,
>
> It hadn't occured to me to use an inner while loop to make sure the last
> test element was in fact the last one for a given thread. That should just
> about do what I need it to do.
>
> Thanks again,
> Vince
>
>
>
>
>
>
> sebb <[hidden email]>
> 05/18/2005 07:30 PM
> Please respond to "JMeter Users List"
>
>
>        To:     JMeter Users List <[hidden email]>
>        cc:
>        Subject:        Re: Capturing a threadgroup's end of execution
>
>
>
> At present I don't think there is any communication possible between
> different thread groups - apart from properties, which are shared.
>
> One way to achieve what you want would be to set a property in one
> group and test it in the other.
>
> The latest CVS code has a property setting function.
> Or you can use BeanShell (have a look at the .bshrc files) to set the
> property.
>
> Your first group would need to have a structure like so:
>
> Thread Group (once only)
> - Loop Controller (as many times as needed)
> - Some element to set the property, e.g. BeanShell Sampler. This would
> generate an extra sample.
>
> S.
> On 5/18/05, [hidden email] <[hidden email]> wrote:
> > Basically, I have a test plan that has two thread groups in it.
> >
> > The two groups need to perform their operations concurrently, however,
> the
> > second group must run for as long as the first one is running (the run
> > time of the first group SHOULD NOT vary much but it is not outside the
> > realm of the reasonable to believe that it COULD vary so it isn't
> entirely
> > predictable). Once the first group ends, the second one must perform a
> > given operation and then also finish.
> >
> > I was looking for an appropriate trigger to signal the end of a thread
> > group's execution.
> >
> > I looked into the conditions under which the testEnded method gets
> called
> > in TestListeners and as far as I can discern, each time a thread is
> ended,
> > the engine checks if this is the last test thread remaining over all
> > (including all thread groups) and if it is, the test is considered
> ended.
> > So it doesn't seem like the threads, once started, have any recollection
> > of belonging to a given threadgroup (right?). So it's entirely possible
> > that there is no such way of tracking the end of all the threads in a
> > given group, I just wanted to see if that was accurate.
> >
> > Vince
> >
> >
> >
> >
> >
> >
> > sebb <[hidden email]>
> > 05/18/2005 02:27 PM
> > Please respond to "JMeter Users List"
> >
> >
> >         To:     JMeter Users List <[hidden email]>
> >         cc:
> >         Subject:        Re: Capturing a threadgroup's end of execution
> >
> >
> >
> > Just wondering - why do you need to do this?
> >
> >
> > S.
> > On 5/18/05, [hidden email] <[hidden email]> wrote:
> > > Hello,
> > >
> > > I was wondering if there was a way in JMeter to identify when all the
> > > threads of a given ThreadGroup have finished executing (a bit like
> > > implementing the TestListener interface allows you to know when an
> > entire
> > > test ends). If there is no straightforward way of doing this is there
> a
> > > circuitous way?
> > >
> > > Thanks in advance,
> > > Vince
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]