Package org.apache.jmeter.control
Class TransactionController
- java.lang.Object
-
- org.apache.jmeter.testelement.AbstractTestElement
-
- org.apache.jmeter.control.GenericController
-
- org.apache.jmeter.control.TransactionController
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Controller
,Searchable
,SampleListener
,TestElement
,TestCompilerHelper
public class TransactionController extends GenericController implements SampleListener, Controller, Serializable
Transaction Controller to measure transaction times There are two different modes for the controller: - generate additional total sample after nested samples (as in JMeter 2.2) - generate parent sampler containing the nested samples- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.jmeter.control.GenericController
current, subControllersAndSamplers
-
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
-
Constructor Summary
Constructors Constructor Description TransactionController()
Creates a Transaction Controller
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isIncludeTimers()
Whether to include timer and pre/post processor time in overall sample.boolean
isParent()
Sampler
next()
Determines the next sampler to be processed.protected Sampler
nextIsAController(Controller controller)
Called byGenericController.next()
if the element is a Controller, and returns the next sampler from the controller.protected void
notifyListeners()
Create additional SampleEvent in NON Parent Modeprotected Object
readResolve()
void
sampleOccurred(SampleEvent se)
A sample has started and stopped.void
sampleStarted(SampleEvent e)
A sample has started.void
sampleStopped(SampleEvent e)
A sample has stopped.void
setIncludeTimers(boolean includeTimers)
Whether to include timers and pre/post processor time in overall sample.void
setParent(boolean _parent)
void
triggerEndOfLoop()
Trigger end of loop condition on controller (used by Start Next Loop feature)-
Methods inherited from class org.apache.jmeter.control.GenericController
addIterationListener, addTestElement, addTestElementOnce, currentReturnedNull, fireIterationStart, fireIterEvents, getCurrentElement, getIterCount, getSubControllers, incrementCurrent, incrementIterCount, initialize, initializeSubControllers, isDone, isFirst, nextIsASampler, nextIsNull, reInitialize, reInitializeSubController, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setCurrentElement, setDone, setFirst
-
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.control.Controller
addIterationListener, initialize, isDone, removeIterationListener
-
Methods inherited from interface org.apache.jmeter.testelement.TestElement
addTestElement, 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
-
-
-
-
Method Detail
-
readResolve
protected Object readResolve()
- Overrides:
readResolve
in classGenericController
-
setParent
public void setParent(boolean _parent)
-
isParent
public boolean isParent()
-
next
public Sampler next()
Description copied from class:GenericController
Determines the next sampler to be processed.
If
GenericController.isDone()
istrue
, returns null.Gets the list element using current pointer. If this is
null
, callsGenericController.nextIsNull()
.If the list element is a
Sampler
, callsGenericController.nextIsASampler(Sampler)
, otherwise callsGenericController.nextIsAController(Controller)
If any of the called methods throws
NextIsNullException
, returnsnull
, otherwise the value obtained above is returned.- Specified by:
next
in interfaceController
- Overrides:
next
in classGenericController
- Returns:
- the next sampler or
null
- See Also:
Controller.next()
-
nextIsAController
protected Sampler nextIsAController(Controller controller) throws NextIsNullException
Description copied from class:GenericController
Called byGenericController.next()
if the element is a Controller, and returns the next sampler from the controller. If this isnull
, then updates the current pointer and makes recursive call toGenericController.next()
.- Overrides:
nextIsAController
in classGenericController
- Parameters:
controller
- the current next element- Returns:
- the next sampler
- Throws:
NextIsNullException
- when the end of the list has already been reached
-
triggerEndOfLoop
public void triggerEndOfLoop()
Description copied from class:GenericController
Trigger end of loop condition on controller (used by Start Next Loop feature)- Specified by:
triggerEndOfLoop
in interfaceController
- Overrides:
triggerEndOfLoop
in classGenericController
- See Also:
GenericController.triggerEndOfLoop()
-
notifyListeners
protected void notifyListeners()
Create additional SampleEvent in NON Parent Mode
-
sampleOccurred
public void sampleOccurred(SampleEvent se)
Description copied from interface:SampleListener
A sample has started and stopped.- Specified by:
sampleOccurred
in interfaceSampleListener
- Parameters:
se
- theSampleEvent
that has occurred
-
sampleStarted
public void sampleStarted(SampleEvent e)
Description copied from interface:SampleListener
A sample has started.- Specified by:
sampleStarted
in interfaceSampleListener
- Parameters:
e
- theSampleEvent
that has started
-
sampleStopped
public void sampleStopped(SampleEvent e)
Description copied from interface:SampleListener
A sample has stopped.- Specified by:
sampleStopped
in interfaceSampleListener
- Parameters:
e
- theSampleEvent
that has stopped
-
setIncludeTimers
public void setIncludeTimers(boolean includeTimers)
Whether to include timers and pre/post processor time in overall sample.- Parameters:
includeTimers
- Flag whether timers and pre/post processor should be included in overall sample
-
isIncludeTimers
public boolean isIncludeTimers()
Whether to include timer and pre/post processor time in overall sample.- Returns:
- boolean (defaults to true for backwards compatibility)
-
-