Apache JMeter

org.apache.jmeter.threads
Class ThreadGroup

java.lang.Object
  extended by org.apache.jmeter.testelement.AbstractTestElement
      extended by org.apache.jmeter.threads.AbstractThreadGroup
          extended by org.apache.jmeter.threads.ThreadGroup
All Implemented Interfaces:
Serializable, Cloneable, Controller, Searchable, TestElement, JMeterThreadMonitor, TestCompilerHelper
Direct Known Subclasses:
PostThreadGroup, SetupThreadGroup

public class ThreadGroup
extends AbstractThreadGroup

ThreadGroup holds the settings for a JMeter thread group. This class is intended to be ThreadSafe.

See Also:
Serialized Form

Field Summary
static String DELAY
          Scheduler start delay, overrides start time
static String DELAYED_START
          Whether thread startup is delayed until required
static String DURATION
          Scheduler duration, overrides end time
static String END_TIME
          Scheduler absolute end time
static String RAMP_TIME
          Ramp-up time
static String SCHEDULER
          Whether scheduler is being used
static String START_TIME
          Scheduler absolute start time
 
Fields inherited from class org.apache.jmeter.threads.AbstractThreadGroup
MAIN_CONTROLLER, NUM_THREADS, ON_SAMPLE_ERROR, ON_SAMPLE_ERROR_CONTINUE, ON_SAMPLE_ERROR_START_NEXT_LOOP, ON_SAMPLE_ERROR_STOPTEST, ON_SAMPLE_ERROR_STOPTEST_NOW, ON_SAMPLE_ERROR_STOPTHREAD
 
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
 
Constructor Summary
ThreadGroup()
          No-arg constructor.
 
Method Summary
 long getDelay()
          Get the startup delay
 long getDuration()
          Get the desired duration of the thread group test run
 long getEndTime()
          Get the end time value.
 int getRampUp()
          Get the ramp-up value.
 boolean getScheduler()
          Get whether scheduler is being used
 long getStartTime()
          Get the absolute start time value.
 int numberOfActiveThreads()
           
 void setDelay(long delay)
          Set the startup delay
 void setDuration(long duration)
          Set the desired duration of the thread group test run
 void setEndTime(long etime)
          Set the EndTime value.
 void setRampUp(int rampUp)
          Set the ramp-up value.
 void setScheduler(boolean Scheduler)
          Set whether scheduler is being used
 void setStartTime(long stime)
          Set the absolute StartTime value.
 void start(int groupCount, ListenerNotifier notifier, ListedHashTree threadGroupTree, StandardJMeterEngine engine)
           
 void stop()
          For each thread, invoke: JMeterThread.stop() - set stop flag
 boolean stopThread(String threadName, boolean now)
          Stop thread called threadName: stop JMeter thread interrupt JMeter thread interrupt underlying thread
 void tellThreadsToStop()
          For each thread, invoke: JMeterThread.stop() - set stop flag JMeterThread.interrupt() - interrupt sampler Thread.interrupt() - interrupt JVM thread
 void threadFinished(JMeterThread thread)
          Called by JMeterThread when it finishes
 boolean verifyThreadsStopped()
           
 void waitThreadsStopped()
          Wait for all Group Threads to stop
 
Methods inherited from class org.apache.jmeter.threads.AbstractThreadGroup
addIterationListener, addTestElement, addTestElementOnce, getNumberOfThreads, getNumThreads, getOnErrorStartNextLoop, getOnErrorStopTest, getOnErrorStopTestNow, getOnErrorStopThread, getSamplerController, initialize, isDone, next, removeIterationListener, setNumThreads, setSamplerController, startNextLoop, triggerEndOfLoop
 
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jmeter.testelement.TestElement
canRemove, clear, clearTestElementChildren, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
 

Field Detail

RAMP_TIME

public static final String RAMP_TIME
Ramp-up time

See Also:
Constant Field Values

DELAYED_START

public static final String DELAYED_START
Whether thread startup is delayed until required

See Also:
Constant Field Values

SCHEDULER

public static final String SCHEDULER
Whether scheduler is being used

See Also:
Constant Field Values

START_TIME

public static final String START_TIME
Scheduler absolute start time

See Also:
Constant Field Values

END_TIME

public static final String END_TIME
Scheduler absolute end time

See Also:
Constant Field Values

DURATION

public static final String DURATION
Scheduler duration, overrides end time

See Also:
Constant Field Values

DELAY

public static final String DELAY
Scheduler start delay, overrides start time

See Also:
Constant Field Values
Constructor Detail

ThreadGroup

public ThreadGroup()
No-arg constructor.

Method Detail

setScheduler

public void setScheduler(boolean Scheduler)
Set whether scheduler is being used

Parameters:
Scheduler - true is scheduler is to be used

getScheduler

public boolean getScheduler()
Get whether scheduler is being used

Returns:
true if scheduler is being used

setStartTime

public void setStartTime(long stime)
Set the absolute StartTime value.

Parameters:
stime - - the StartTime value.

getStartTime

public long getStartTime()
Get the absolute start time value.

Returns:
the start time value.

getDuration

public long getDuration()
Get the desired duration of the thread group test run

Returns:
the duration (in secs)

setDuration

public void setDuration(long duration)
Set the desired duration of the thread group test run

Parameters:
duration - in seconds

getDelay

public long getDelay()
Get the startup delay

Returns:
the delay (in secs)

setDelay

public void setDelay(long delay)
Set the startup delay

Parameters:
delay - in seconds

setEndTime

public void setEndTime(long etime)
Set the EndTime value.

Parameters:
etime - - the EndTime value.

getEndTime

public long getEndTime()
Get the end time value.

Returns:
the end time value.

setRampUp

public void setRampUp(int rampUp)
Set the ramp-up value.

Parameters:
rampUp - the ramp-up value.

getRampUp

public int getRampUp()
Get the ramp-up value.

Returns:
the ramp-up value.

start

public void start(int groupCount,
                  ListenerNotifier notifier,
                  ListedHashTree threadGroupTree,
                  StandardJMeterEngine engine)
Specified by:
start in class AbstractThreadGroup

stopThread

public boolean stopThread(String threadName,
                          boolean now)
Stop thread called threadName:
  1. stop JMeter thread
  2. interrupt JMeter thread
  3. interrupt underlying thread
    1. Specified by:
      stopThread in class AbstractThreadGroup
      Parameters:
      threadName - String thread name
      now - boolean for stop
      Returns:
      true if thread stopped

threadFinished

public void threadFinished(JMeterThread thread)
Called by JMeterThread when it finishes


tellThreadsToStop

public void tellThreadsToStop()
For each thread, invoke:

Specified by:
tellThreadsToStop in class AbstractThreadGroup

stop

public void stop()
For each thread, invoke:

Specified by:
stop in class AbstractThreadGroup

numberOfActiveThreads

public int numberOfActiveThreads()
Specified by:
numberOfActiveThreads in class AbstractThreadGroup
Returns:
number of active threads

verifyThreadsStopped

public boolean verifyThreadsStopped()
Specified by:
verifyThreadsStopped in class AbstractThreadGroup
Returns:
boolean true if all threads stopped

waitThreadsStopped

public void waitThreadsStopped()
Wait for all Group Threads to stop

Specified by:
waitThreadsStopped in class AbstractThreadGroup

Apache JMeter

Copyright © 1998-2013 Apache Software Foundation. All Rights Reserved.