Apache JMeter

org.apache.jmeter.timers
Class ConstantThroughputTimer

java.lang.Object
  extended by org.apache.jmeter.testelement.AbstractTestElement
      extended by org.apache.jmeter.timers.ConstantThroughputTimer
All Implemented Interfaces:
Serializable, Cloneable, Searchable, TestBean, TestElement, TestStateListener, Timer

public class ConstantThroughputTimer
extends AbstractTestElement
implements Timer, TestStateListener, 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 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
addPropertiesValues, addProperty, addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, 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 TestStateListener
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 TestStateListener
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 TestStateListener
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 TestStateListener
Parameters:
host - name of host
See Also:
StandardJMeterEngine.stopTest()

Apache JMeter

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