Package org.apache.jmeter.modifiers

# Class CounterConfig

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.modifiers.CounterConfig

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `LoopIterationListener`, `NoThreadClone`, `Searchable`, `org.apache.jmeter.testelement.TestElement`, `ThreadListener`

public class CounterConfig extends AbstractTestElement implements Serializable, LoopIterationListener, NoThreadClone, ThreadListener
Provides a counter per-thread(user) or per-thread group.

See Also:
  - Serialized Form

## 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 interface org.apache.jmeter.testelement.TestElement

`COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`CounterConfig()`

## Method Summary

Modifier and Type
Method
Description
`long`
`getEnd()`
Returns counter upper limit (default `Long.MAX_VALUE`).
`String`
`getEndAsString()`
`String`
`getFormat()`
`long`
`getIncrement()`
`String`
`getIncrementAsString()`
`long`
`getStart()`
`String`
`getStartAsString()`
`String`
`getVarName()`
`boolean`
`isPerUser()`
`boolean`
`isResetOnThreadGroupIteration()`
Returns true if counter must be reset on Thread Group Iteration.
`void`
`iterationStart(LoopIterationEvent event)`
Called when a loop iteration is about to start.
`void`
`setEnd(long end)`
`void`
`setEnd(String end)`
`void`
`setFormat(String format)`
`void`
`setIncrement(long inc)`
`void`
`setIncrement(String incr)`
`void`
`setIsPerUser(boolean isPer)`
`void`
`setResetOnThreadGroupIteration(boolean value)`
Configures if the counter must be reset on Thread Group Iteration.
`void`
`setStart(long start)`
`void`
`setStart(String start)`
`void`
`setVarName(String name)`
`void`
`threadFinished()`
Called for each thread after all samples have been processed.
`void`
`threadStarted()`
Called for each thread before starting sampling.

### Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

`addPropertiesValues, addProperty, addProperty, addTestElement, 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.testelement.TestElement

`get, get, get, get, get, get, get, get, get, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getPropertyOrNull, getProps, getSchema, getString, removed, removeProperty, set, set, set, set, set, set, set, set, set`

## Constructor Details

### CounterConfig

public CounterConfig()

## Method Details

### iterationStart

public void iterationStart(LoopIterationEvent event)
Description copied from interface: `LoopIterationListener`
Called when a loop iteration is about to start.

Specified by:
  `iterationStart` in interface `LoopIterationListener`
Parameters:
  `event` - the event
See Also:
  - `LoopIterationListener.iterationStart(LoopIterationEvent)`

### setStart

public void setStart(long start)

### setStart

public void setStart(String start)

### getStart

public long getStart()

### getStartAsString

public String getStartAsString()

### setEnd

public void setEnd(long end)

### setEnd

public void setEnd(String end)

### setResetOnThreadGroupIteration

public void setResetOnThreadGroupIteration(boolean value)
Configures if the counter must be reset on Thread Group Iteration.

Parameters:
  `value` - boolean indicating if counter must be reset on Thread Group Iteration

### isResetOnThreadGroupIteration

public boolean isResetOnThreadGroupIteration()
Returns true if counter must be reset on Thread Group Iteration.

Returns:
  true if counter must be reset on Thread Group Iteration

### getEnd

public long getEnd()
Returns counter upper limit (default `Long.MAX_VALUE`).

Returns:
  counter upper limit (default Long.MAX_VALUE)

### getEndAsString

public String getEndAsString()

### setIncrement

public void setIncrement(long inc)

### setIncrement

public void setIncrement(String incr)

### getIncrement

public long getIncrement()

### getIncrementAsString

public String getIncrementAsString()

### setIsPerUser

public void setIsPerUser(boolean isPer)

### isPerUser

public boolean isPerUser()

### setVarName

public void setVarName(String name)

### getVarName

public String getVarName()

### setFormat

public void setFormat(String format)

### getFormat

public String getFormat()

### 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`