Class ThreadGroup
java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.threads.AbstractThreadGroup
org.apache.jmeter.threads.ThreadGroup
- All Implemented Interfaces:
Serializable, Cloneable, Controller, Searchable, TestElement, JMeterThreadMonitor, TestCompilerHelper
- Direct Known Subclasses:
PostThreadGroup, SetupThreadGroup
ThreadGroup holds the settings for a JMeter thread group.
This class is intended to be ThreadSafe.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringScheduler start delay, overrides start timestatic final StringWhether thread startup is delayed until requiredstatic final StringScheduler duration, overrides end timestatic final StringScheduler absolute end timestatic final StringRamp-up timestatic final StringWhether scheduler is being usedstatic final StringScheduler absolute start timeFields inherited from class 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_STOPTHREADFields inherited from interface TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlonggetDelay()Get the startup delaylongGet the desired duration of the thread group test runlongGet the end time value.intGet the ramp-up value.booleanGet whether scheduler is being usedlongGet the absolute start time value.intvoidsetDelay(long delay) Set the startup delayvoidsetDuration(long duration) Set the desired duration of the thread group test runvoidsetEndTime(long etime) Set the EndTime value.voidsetRampUp(int rampUp) Set the ramp-up value.voidsetScheduler(boolean Scheduler) Set whether scheduler is being usedvoidsetStartTime(long stime) Set the absolute StartTime value.voidstart(int groupCount, ListenerNotifier notifier, ListedHashTree threadGroupTree, StandardJMeterEngine engine) voidstop()For each thread, invoke:JMeterThread.stop()- set stop flagbooleanstopThread(String threadName, boolean now) Stop thread called threadName: stop JMeter thread interrupt JMeter thread interrupt underlying threadvoidFor each thread, invoke:JMeterThread.stop()- set stop flagJMeterThread.interrupt()- interrupt samplerThread.interrupt()- interrupt JVM threadvoidthreadFinished(JMeterThread thread) Called by JMeterThread when it finishesbooleanvoidWait for all Group Threads to stopMethods inherited from class AbstractThreadGroup
addIterationListener, addTestElement, addTestElementOnce, getNumberOfThreads, getNumThreads, getOnErrorStartNextLoop, getOnErrorStopTest, getOnErrorStopTestNow, getOnErrorStopThread, getSamplerController, initialize, isDone, next, removeIterationListener, setNumThreads, setSamplerController, startNextLoop, triggerEndOfLoopMethods inherited from class 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, traversePropertyMethods inherited from class Object
finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface 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 Details
-
RAMP_TIME
-
DELAYED_START
-
SCHEDULER
-
START_TIME
-
END_TIME
-
DURATION
-
DELAY
-
-
Constructor Details
-
ThreadGroup
public ThreadGroup()No-arg constructor.
-
-
Method Details
-
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:
startin classAbstractThreadGroup
-
stopThread
Stop thread called threadName:- stop JMeter thread
- interrupt JMeter thread
- interrupt underlying thread
- Specified by:
stopThreadin classAbstractThreadGroup- Parameters:
threadName- String thread namenow- boolean for stop- Returns:
- true if thread stopped
-
threadFinished
Called by JMeterThread when it finishes -
tellThreadsToStop
public void tellThreadsToStop()For each thread, invoke:JMeterThread.stop()- set stop flagJMeterThread.interrupt()- interrupt samplerThread.interrupt()- interrupt JVM thread
- Specified by:
tellThreadsToStopin classAbstractThreadGroup
-
stop
public void stop()For each thread, invoke:JMeterThread.stop()- set stop flag
- Specified by:
stopin classAbstractThreadGroup
-
numberOfActiveThreads
public int numberOfActiveThreads()- Specified by:
numberOfActiveThreadsin classAbstractThreadGroup- Returns:
- number of active threads
-
verifyThreadsStopped
public boolean verifyThreadsStopped()- Specified by:
verifyThreadsStoppedin classAbstractThreadGroup- Returns:
- boolean true if all threads stopped
-
waitThreadsStopped
public void waitThreadsStopped()Wait for all Group Threads to stop- Specified by:
waitThreadsStoppedin classAbstractThreadGroup
-