Apache JMeter

## org.apache.jmeter.timers
Class ConstantThroughputTimer

    java.lang.Object
      org.apache.jmeter.testelement.AbstractTestElement
          org.apache.jmeter.timers.ConstantThroughputTimer

All Implemented Interfaces:
  Serializable, Cloneable, TestBean, TestElement, TestListener, Timer

    public class ConstantThroughputTimer

extends AbstractTestElement
implements Timer, TestListener, TestBean

This class implements a constant throughput timer. A Constant Throughtput Timer paces the samplers under its influence so that the total number of samples per unit of time approaches a given constant as much as possible. There are two different ways of pacing the requests: - delay each thread according to when it last ran - delay each thread according to when any thread last ran

See Also:
  Serialized Form

Field Summary

Fields inherited from interface org.apache.jmeter.testelement.TestElement
`COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

Constructor Summary
`ConstantThroughputTimer()` Constructor for a non-configured ConstantThroughputTimer.

Method Summary
`protected long` `calculateCurrentTarget(long currentTime)`
`long` `delay()` Retrieve the delay to use during test execution.
`String` `getCalcMode()`
`double` `getThroughput()` Gets the configured desired throughput.
`void` `setCalcMode(String mode)`
`void` `setThroughput(double throughput)` Sets the desired throughput.
`void` `testEnded()` Called once for all threads after the end of a test.
`void` `testEnded(String host)` Called once for all threads after the end of a test.
`void` `testIterationStart(LoopIterationEvent event)` Each time through a Thread Group's test script, an iteration event is fired for each thread.
`void` `testStarted()` Get the timer ready to compute delays for a new test.
`void` `testStarted(String host)` Called just before the start of the test from the main engine thread.
`String` `toString()` Provide a description of this timer class.

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

`addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setName, 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, wait, wait, wait`

Constructor Detail

### ConstantThroughputTimer

    public ConstantThroughputTimer()

  Constructor for a non-configured ConstantThroughputTimer.

Method Detail

### setThroughput

    public void setThroughput(double throughput)

  Sets the desired throughput.

  Parameters:
    `throughput` - Desired sampling rate, in samples per minute.

### getThroughput

    public double getThroughput()

  Gets the configured desired throughput.

  Returns:
    the rate at which samples should occur, in samples per minute.

### getCalcMode

    public String getCalcMode()

### setCalcMode

    public void setCalcMode(String mode)

### delay

    public long delay()

  Retrieve the delay to use during test execution.

  Specified by:
    `delay` in interface `Timer`
  Returns:
    the computed delay value.
  See Also:
    `Timer.delay()`

### calculateCurrentTarget

    protected long calculateCurrentTarget(long currentTime)

  Parameters:
    `currentTime` -
  Returns:
    new Target time

### toString

    public String toString()

  Provide a description of this timer class. TODO: Is this ever used? I can't remember where. Remove if it isn't -- TODO: or obtain text from bean's displayName or shortDescription.

  Overrides:
    `toString` in class `Object`
  Returns:
    the description of this timer class.

### testStarted

    public void testStarted()

  Get the timer ready to compute delays for a new test.

  Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

  N.B. testStarted() and testEnded() are called from different threads.

  Specified by:
    `testStarted` in interface `TestListener`
  See Also:
    `StandardJMeterEngine.run()`

### testEnded

    public void testEnded()

  Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

  N.B. testStarted() and testEnded() are called from different threads.

  Specified by:
    `testEnded` in interface `TestListener`
  See Also:
    `StandardJMeterEngine.stopTest()`

### testStarted

    public void testStarted(String host)

  Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

  N.B. testStarted() and testEnded() are called from different threads.

  Specified by:
    `testStarted` in interface `TestListener`
  Parameters:
    `host` - name of host
  See Also:
    `StandardJMeterEngine.run()`

### testEnded

    public void testEnded(String host)

  Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

  N.B. testStarted() and testEnded() are called from different threads.

  Specified by:
    `testEnded` in interface `TestListener`
  Parameters:
    `host` - name of host
  See Also:
    `StandardJMeterEngine.stopTest()`

### testIterationStart

    public void testIterationStart(LoopIterationEvent event)

  Each time through a Thread Group's test script, an iteration event is fired for each thread. This will be after the test elements have been cloned, so in general the instance will not be the same as the ones the start/end methods call.

  Specified by:
    `testIterationStart` in interface `TestListener`

Apache JMeter

Copyright © 1998-2011 Apache Software Foundation. All Rights Reserved.