Apache JMeter

org.apache.jmeter.timers
Class ConstantThroughputTimer

java.lang.Object
  extended byorg.apache.jmeter.testelement.AbstractTestElement
      extended byorg.apache.jmeter.timers.ConstantThroughputTimer
All Implemented Interfaces:
Cloneable, Serializable, 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
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, clone, emptyTemporary, equals, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, nextIsNull, propertyIterator, recoverRunningVersion, removeProperty, setName, 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.

Returns:
the description of this timer class.

testStarted

public void testStarted()
Get the timer ready to compute delays for a new test.

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

testEnded

public void testEnded()
Description copied from interface: TestListener
Called once for all threads after the end of a test.

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

testStarted

public void testStarted(String host)
Description copied from interface: TestListener
Called just before the start of the test from the main engine thread. Note that not all the test variables will have been set up at this point.

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

testEnded

public void testEnded(String host)
Description copied from interface: TestListener
Called once for all threads after the end of a test.

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

testIterationStart

public void testIterationStart(LoopIterationEvent event)
Description copied from interface: TestListener
Each time through a Thread Group's test script, an iteration event is fired for each thread.

Specified by:
testIterationStart in interface TestListener
Parameters:
event -

Apache JMeter

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