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, subControllersAndSamplersFields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.jmeter.testelement.schema.PropertiesAccessor<? extends TransactionController,? extends org.apache.jmeter.control.TransactionControllerSchema> getProps()org.apache.jmeter.control.TransactionControllerSchemastatic booleanbooleanbooleanWhether to include timer and pre/post processor time in overall sample.next()Determines the next sampler to be processed.protected SamplernextIsAController(Controller controller) Called byGenericController.next()if the element is a Controller, and returns the next sampler from the controller.protected voidCreate additional SampleEvent in NON Parent Modeprotected ObjectvoidA sample has started and stopped.voidA sample has started.voidA sample has stopped.voidsetGenerateParentSample(boolean generateParent) voidsetIncludeTimers(boolean includeTimers) Whether to include timers and pre/post processor time in overall sample.voidTrigger 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, setFirstMethods 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, traversePropertyMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.jmeter.control.Controller
addIterationListener, initialize, isDone, removeIterationListenerMethods 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:
getSchemain interfaceorg.apache.jmeter.testelement.TestElement- Overrides:
getSchemain classGenericController
-
getProps
public org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends TransactionController,? extends org.apache.jmeter.control.TransactionControllerSchema> getProps()- Specified by:
getPropsin interfaceorg.apache.jmeter.testelement.TestElement- Overrides:
getPropsin classGenericController
-
readResolve
- Overrides:
readResolvein classGenericController
-
setGenerateParentSample
public void setGenerateParentSample(boolean generateParent) - Parameters:
generateParent- flag whether a parent sample should be generated.
-
isGenerateParentSample
public boolean isGenerateParentSample()- Returns:
trueif a parent sample will be generated
-
next
Description copied from class:GenericControllerDetermines 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:
nextin interfaceController- Overrides:
nextin classGenericController- Returns:
- the next sampler or
null - See Also:
-
nextIsAController
Description copied from class:GenericControllerCalled 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:
nextIsAControllerin 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:GenericControllerTrigger end of loop condition on controller (used by Start Next Loop feature)- Specified by:
triggerEndOfLoopin interfaceController- Overrides:
triggerEndOfLoopin classGenericController- See Also:
-
notifyListeners
protected void notifyListeners()Create additional SampleEvent in NON Parent Mode -
sampleOccurred
Description copied from interface:SampleListenerA sample has started and stopped.- Specified by:
sampleOccurredin interfaceSampleListener- Parameters:
se- theSampleEventthat has occurred
-
sampleStarted
Description copied from interface:SampleListenerA sample has started.- Specified by:
sampleStartedin interfaceSampleListener- Parameters:
e- theSampleEventthat has started
-
sampleStopped
Description copied from interface:SampleListenerA sample has stopped.- Specified by:
sampleStoppedin interfaceSampleListener- Parameters:
e- theSampleEventthat 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)
-