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
,org.apache.jmeter.testelement.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:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElement
org.apache.jmeter.testelement.TestElement.Companion
-
Field Summary
Fields inherited from class org.apache.jmeter.control.GenericController
current, subControllersAndSamplers
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionorg.apache.jmeter.testelement.schema.PropertiesAccessor<? extends TransactionController,
? extends org.apache.jmeter.control.TransactionControllerSchema> getProps()
org.apache.jmeter.control.TransactionControllerSchema
static boolean
boolean
boolean
Whether to include timer and pre/post processor time in overall sample.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
setGenerateParentSample
(boolean generateParent) void
setIncludeTimers
(boolean includeTimers) Whether to include timers and pre/post processor time in overall sample.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, 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, getPropertyOrNull, 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, get, get, get, get, get, get, get, get, get, getComment, getName, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, getPropertyOrNull, getString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removed, removeProperty, removeProperty, set, set, set, set, set, set, set, set, set, 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
-
getSchema
public org.apache.jmeter.control.TransactionControllerSchema getSchema()- Specified by:
getSchema
in interfaceorg.apache.jmeter.testelement.TestElement
- Overrides:
getSchema
in classGenericController
-
getProps
public org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends TransactionController,? extends org.apache.jmeter.control.TransactionControllerSchema> getProps()- Specified by:
getProps
in interfaceorg.apache.jmeter.testelement.TestElement
- Overrides:
getProps
in classGenericController
-
readResolve
- Overrides:
readResolve
in classGenericController
-
setGenerateParentSample
public void setGenerateParentSample(boolean generateParent) - Parameters:
generateParent
- flag whether a parent sample should be generated.
-
isGenerateParentSample
public boolean isGenerateParentSample()- Returns:
true
if a parent sample will be generated
-
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
-
isFromTransactionController
- Parameters:
res
-SampleResult
- Returns:
- true if res is the ParentSampler transactions
-
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)
-