Class IterationCounter

java.lang.Object
org.apache.jmeter.functions.AbstractFunction
org.apache.jmeter.functions.IterationCounter
All Implemented Interfaces:
Function, ThreadListener

@AutoService(Function.class) public class IterationCounter extends AbstractFunction implements ThreadListener
Counter that can be referenced anywhere in the Thread Group. It can be configured per User (Thread Local) or globally.
Since:
1.X
  • Constructor Details

    • IterationCounter

      public IterationCounter()
  • Method Details

    • execute

      public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException

      N.B. execute() should be synchronized if function is operating with non-thread-safe objects (e.g. operates with files).

      JMeter ensures setParameters() happens-before execute(): setParameters is executed in main thread, and worker threads are started after that.
      Specified by:
      execute in interface Function
      Specified by:
      execute in class AbstractFunction
      Parameters:
      previousResult - The previous SampleResult
      currentSampler - The current Sampler
      Returns:
      The replacement value, which was generated by the function
      Throws:
      InvalidVariableException - - when the variables for the function call can't be evaluated
      See Also:
    • setParameters

      public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException
      Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)
      Specified by:
      setParameters in interface Function
      Specified by:
      setParameters in class AbstractFunction
      Parameters:
      parameters - The parameters for the function call
      Throws:
      InvalidVariableException - - when the variables for the function call can't be evaluated
      See Also:
    • getReferenceKey

      public String getReferenceKey()
      Return the name of your function. Convention is to prepend "__" to the name (ie "__regexFunction")
      Specified by:
      getReferenceKey in interface Function
      Specified by:
      getReferenceKey in class AbstractFunction
      Returns:
      The name of the function
      See Also:
    • getArgumentDesc

      public List<String> getArgumentDesc()
      Return a list of strings briefly describing each parameter your function takes. Please use JMeterUtils.getResString(resource_name) to grab a resource string. Otherwise, your help text will be difficult to internationalize. This list is not optional. If you don't wish to write help, you must at least return a List containing the correct number of blank strings, one for each argument.
      Specified by:
      getArgumentDesc in interface Function
      Returns:
      List with brief descriptions for each parameter the function takes
    • threadStarted

      public void threadStarted()
      Description copied from interface: ThreadListener
      Called for each thread before starting sampling. WARNING: this is called before any Config test elements are processed, so any properties they define will not have been merged in yet. See org.apache.jmeter.threads.JMeterThread#threadStarted()
      Specified by:
      threadStarted in interface ThreadListener
    • threadFinished

      public void threadFinished()
      Description copied from interface: ThreadListener
      Called for each thread after all samples have been processed. See org.apache.jmeter.threads.JMeterThread#threadFinished(org.apache.jmeter.engine.event.LoopIterationListener)
      Specified by:
      threadFinished in interface ThreadListener