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:
-
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 -
Method Summary
Modifier and TypeMethodDescriptionboolean
Whether to include timer and pre/post processor time in overall sample.boolean
isParent()
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
Create additional SampleEvent in NON Parent Modeprotected Object
void
A sample has started and stopped.void
A sample has started.void
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
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
-
Constructor Details
-
TransactionController
public TransactionController()Creates a Transaction Controller
-
-
Method Details
-
readResolve
- Overrides:
readResolve
in classGenericController
-
setParent
public void setParent(boolean _parent) -
isParent
public boolean isParent() -
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:
-
nextIsAController
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:
-
notifyListeners
protected void notifyListeners()Create additional SampleEvent in NON Parent Mode -
sampleOccurred
Description copied from interface:SampleListener
A sample has started and stopped.- Specified by:
sampleOccurred
in interfaceSampleListener
- Parameters:
se
- theSampleEvent
that has occurred
-
sampleStarted
Description copied from interface:SampleListener
A sample has started.- Specified by:
sampleStarted
in interfaceSampleListener
- Parameters:
e
- theSampleEvent
that has started
-
sampleStopped
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)
-