<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ConstantThroughputTimer (Apache JMeter dist API)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ConstantThroughputTimer (Apache JMeter dist API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache JMeter</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/jmeter/timers/BSFTimerBeanInfo.html" title="class in org.apache.jmeter.timers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.Mode.html" title="enum in org.apache.jmeter.timers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/jmeter/timers/ConstantThroughputTimer.html" target="_top">Frames</a></li>
<li><a href="ConstantThroughputTimer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.jmeter.timers</div>
<h2 title="Class ConstantThroughputTimer" class="title">Class ConstantThroughputTimer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html" title="class in org.apache.jmeter.testelement">org.apache.jmeter.testelement.AbstractTestElement</a></li>
<li>
<ul class="inheritance">
<li>org.apache.jmeter.timers.ConstantThroughputTimer</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, <a href="../../../../org/apache/jmeter/gui/Searchable.html" title="interface in org.apache.jmeter.gui">Searchable</a>, <a href="../../../../org/apache/jmeter/testbeans/TestBean.html" title="interface in org.apache.jmeter.testbeans">TestBean</a>, <a href="../../../../org/apache/jmeter/testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a>, <a href="../../../../org/apache/jmeter/testelement/TestStateListener.html" title="interface in org.apache.jmeter.testelement">TestStateListener</a>, <a href="../../../../org/apache/jmeter/timers/Timer.html" title="interface in org.apache.jmeter.timers">Timer</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">ConstantThroughputTimer</span>
extends <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html" title="class in org.apache.jmeter.testelement">AbstractTestElement</a>
implements <a href="../../../../org/apache/jmeter/timers/Timer.html" title="interface in org.apache.jmeter.timers">Timer</a>, <a href="../../../../org/apache/jmeter/testelement/TestStateListener.html" title="interface in org.apache.jmeter.testelement">TestStateListener</a>, <a href="../../../../org/apache/jmeter/testbeans/TestBean.html" title="interface in org.apache.jmeter.testbeans">TestBean</a></pre>
<div class="block">This class implements a constant throughput timer. A Constant Throughput
 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</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.apache.jmeter.timers.ConstantThroughputTimer">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.Mode.html" title="enum in org.apache.jmeter.timers">ConstantThroughputTimer.Mode</a></span></code>
<div class="block">This enum defines the calculation modes used by the ConstantThroughputTimer.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.jmeter.testelement.TestElement">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.apache.jmeter.testelement.<a href="../../../../org/apache/jmeter/testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a></h3>
<code><a href="../../../../org/apache/jmeter/testelement/TestElement.html#COMMENTS">COMMENTS</a>, <a href="../../../../org/apache/jmeter/testelement/TestElement.html#ENABLED">ENABLED</a>, <a href="../../../../org/apache/jmeter/testelement/TestElement.html#GUI_CLASS">GUI_CLASS</a>, <a href="../../../../org/apache/jmeter/testelement/TestElement.html#NAME">NAME</a>, <a href="../../../../org/apache/jmeter/testelement/TestElement.html#TEST_CLASS">TEST_CLASS</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#ConstantThroughputTimer--">ConstantThroughputTimer</a></span>()</code>
<div class="block">Constructor for a non-configured ConstantThroughputTimer.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#calculateCurrentTarget-long-">calculateCurrentTarget</a></span>(long&nbsp;currentTime)</code>
<div class="block">Calculate the target time by adding the result of private method
 <code>calculateDelay()</code> to the given <code>currentTime</code></div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#delay--">delay</a></span>()</code>
<div class="block">Retrieve the delay to use during test execution.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#getCalcMode--">getCalcMode</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#getThroughput--">getThroughput</a></span>()</code>
<div class="block">Gets the configured desired throughput.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#setCalcMode-int-">setCalcMode</a></span>(int&nbsp;mode)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#setProperty-org.apache.jmeter.testelement.property.JMeterProperty-">setProperty</a></span>(<a href="../../../../org/apache/jmeter/testelement/property/JMeterProperty.html" title="interface in org.apache.jmeter.testelement.property">JMeterProperty</a>&nbsp;property)</code>
<div class="block">Override the setProperty method in order to convert
 the original String calcMode property.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#setThroughput-double-">setThroughput</a></span>(double&nbsp;throughput)</code>
<div class="block">Sets the desired throughput.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#testEnded--">testEnded</a></span>()</code>
<div class="block">
 Called once for all threads after the end of a test.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#testEnded-java.lang.String-">testEnded</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host)</code>
<div class="block">
 Called once for all threads after the end of a test.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#testStarted--">testStarted</a></span>()</code>
<div class="block">Get the timer ready to compute delays for a new test.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#testStarted-java.lang.String-">testStarted</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host)</code>
<div class="block">
 Called just before the start of the test from the main engine thread.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.html#toString--">toString</a></span>()</code>
<div class="block">Provide a description of this timer class.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.jmeter.testelement.AbstractTestElement">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.jmeter.testelement.<a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html" title="class in org.apache.jmeter.testelement">AbstractTestElement</a></h3>
<code><a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#addPropertiesValues-java.util.List-java.util.Set-">addPropertiesValues</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#addProperty-org.apache.jmeter.testelement.property.JMeterProperty-">addProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#addProperty-org.apache.jmeter.testelement.property.JMeterProperty-boolean-">addProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#addTestElement-org.apache.jmeter.testelement.TestElement-">addTestElement</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#canRemove--">canRemove</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#clear--">clear</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#clearTemporary-org.apache.jmeter.testelement.property.JMeterProperty-">clearTemporary</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#clearTestElementChildren--">clearTestElementChildren</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#clone--">clone</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#emptyTemporary--">emptyTemporary</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#equals-java.lang.Object-">equals</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getComment--">getComment</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getName--">getName</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getProperty-java.lang.String-">getProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsBoolean-java.lang.String-">getPropertyAsBoolean</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsBoolean-java.lang.String-boolean-">getPropertyAsBoolean</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsDouble-java.lang.String-">getPropertyAsDouble</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsFloat-java.lang.String-">getPropertyAsFloat</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsInt-java.lang.String-">getPropertyAsInt</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsInt-java.lang.String-int-">getPropertyAsInt</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsLong-java.lang.String-">getPropertyAsLong</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsLong-java.lang.String-long-">getPropertyAsLong</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsString-java.lang.String-">getPropertyAsString</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getPropertyAsString-java.lang.String-java.lang.String-">getPropertyAsString</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getSearchableTokens--">getSearchableTokens</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getThreadContext--">getThreadContext</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#getThreadName--">getThreadName</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#hashCode--">hashCode</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#isEnabled--">isEnabled</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#isRunningVersion--">isRunningVersion</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#isTemporary-org.apache.jmeter.testelement.property.JMeterProperty-">isTemporary</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#logProperties--">logProperties</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#mergeIn-org.apache.jmeter.testelement.TestElement-">mergeIn</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#propertyIterator--">propertyIterator</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#recoverRunningVersion--">recoverRunningVersion</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#removeProperty-java.lang.String-">removeProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setComment-java.lang.String-">setComment</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setEnabled-boolean-">setEnabled</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setProperty-java.lang.String-boolean-">setProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setProperty-java.lang.String-boolean-boolean-">setProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setProperty-java.lang.String-int-">setProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setProperty-java.lang.String-int-int-">setProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setProperty-java.lang.String-long-">setProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setProperty-java.lang.String-long-long-">setProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setProperty-java.lang.String-java.lang.String-">setProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setProperty-java.lang.String-java.lang.String-java.lang.String-">setProperty</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setRunningVersion-boolean-">setRunningVersion</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setTemporary-org.apache.jmeter.testelement.property.JMeterProperty-">setTemporary</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setThreadContext-org.apache.jmeter.threads.JMeterContext-">setThreadContext</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setThreadName-java.lang.String-">setThreadName</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#traverse-org.apache.jmeter.testelement.TestElementTraverser-">traverse</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#traverseCollection-org.apache.jmeter.testelement.property.CollectionProperty-org.apache.jmeter.testelement.TestElementTraverser-">traverseCollection</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#traverseMap-org.apache.jmeter.testelement.property.MapProperty-org.apache.jmeter.testelement.TestElementTraverser-">traverseMap</a>, <a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#traverseProperty-org.apache.jmeter.testelement.TestElementTraverser-org.apache.jmeter.testelement.property.JMeterProperty-">traverseProperty</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.jmeter.timers.Timer">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.jmeter.timers.<a href="../../../../org/apache/jmeter/timers/Timer.html" title="interface in org.apache.jmeter.timers">Timer</a></h3>
<code><a href="../../../../org/apache/jmeter/timers/Timer.html#isModifiable--">isModifiable</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.jmeter.testelement.TestElement">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.jmeter.testelement.<a href="../../../../org/apache/jmeter/testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a></h3>
<code><a href="../../../../org/apache/jmeter/testelement/TestElement.html#removed--">removed</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="ConstantThroughputTimer--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ConstantThroughputTimer</h4>
<pre>public&nbsp;ConstantThroughputTimer()</pre>
<div class="block">Constructor for a non-configured ConstantThroughputTimer.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="setThroughput-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setThroughput</h4>
<pre>public&nbsp;void&nbsp;setThroughput(double&nbsp;throughput)</pre>
<div class="block">Sets the desired throughput.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>throughput</code> - Desired sampling rate, in samples per minute.</dd>
</dl>
</li>
</ul>
<a name="getThroughput--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThroughput</h4>
<pre>public&nbsp;double&nbsp;getThroughput()</pre>
<div class="block">Gets the configured desired throughput.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the rate at which samples should occur, in samples per minute.</dd>
</dl>
</li>
</ul>
<a name="getCalcMode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCalcMode</h4>
<pre>public&nbsp;int&nbsp;getCalcMode()</pre>
</li>
</ul>
<a name="setCalcMode-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCalcMode</h4>
<pre>public&nbsp;void&nbsp;setCalcMode(int&nbsp;mode)</pre>
</li>
</ul>
<a name="delay--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delay</h4>
<pre>public&nbsp;long&nbsp;delay()</pre>
<div class="block">Retrieve the delay to use during test execution.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/jmeter/timers/Timer.html#delay--">delay</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/jmeter/timers/Timer.html" title="interface in org.apache.jmeter.timers">Timer</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the computed delay value.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/jmeter/timers/Timer.html#delay--"><code>Timer.delay()</code></a></dd>
</dl>
</li>
</ul>
<a name="calculateCurrentTarget-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>calculateCurrentTarget</h4>
<pre>protected&nbsp;long&nbsp;calculateCurrentTarget(long&nbsp;currentTime)</pre>
<div class="block">Calculate the target time by adding the result of private method
 <code>calculateDelay()</code> to the given <code>currentTime</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>currentTime</code> - time in ms</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new Target time</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the description of this timer class.</dd>
</dl>
</li>
</ul>
<a name="testStarted--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testStarted</h4>
<pre>public&nbsp;void&nbsp;testStarted()</pre>
<div class="block">Get the timer ready to compute delays for a new test.
 <p>
 <p>
 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.
 </p>

 <p>
 <b>
 N.B. testStarted() and testEnded() are called from different threads.
 </b>
 </p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/jmeter/testelement/TestStateListener.html#testStarted--">testStarted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/jmeter/testelement/TestStateListener.html" title="interface in org.apache.jmeter.testelement">TestStateListener</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/jmeter/engine/StandardJMeterEngine.html#run--"><code>StandardJMeterEngine.run()</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-org.apache.jmeter.testelement.property.JMeterProperty-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre>public&nbsp;void&nbsp;setProperty(<a href="../../../../org/apache/jmeter/testelement/property/JMeterProperty.html" title="interface in org.apache.jmeter.testelement.property">JMeterProperty</a>&nbsp;property)</pre>
<div class="block">Override the setProperty method in order to convert
 the original String calcMode property.
 This used the locale-dependent display value, so caused
 problems when the language was changed.
 Note that the calcMode StringProperty is replaced with an IntegerProperty
 so the conversion only needs to happen once.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/jmeter/testelement/TestElement.html#setProperty-org.apache.jmeter.testelement.property.JMeterProperty-">setProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/jmeter/testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html#setProperty-org.apache.jmeter.testelement.property.JMeterProperty-">setProperty</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/jmeter/testelement/AbstractTestElement.html" title="class in org.apache.jmeter.testelement">AbstractTestElement</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>property</code> - the property to be set</dd>
</dl>
</li>
</ul>
<a name="testEnded--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testEnded</h4>
<pre>public&nbsp;void&nbsp;testEnded()</pre>
<div class="block"><p>
 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.
 </p>

 <p>
 <b>
 N.B. testStarted() and testEnded() are called from different threads.
 </b>
 </p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/jmeter/testelement/TestStateListener.html#testEnded--">testEnded</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/jmeter/testelement/TestStateListener.html" title="interface in org.apache.jmeter.testelement">TestStateListener</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/jmeter/engine/StandardJMeterEngine.html#stopTest--"><code>StandardJMeterEngine.stopTest()</code></a></dd>
</dl>
</li>
</ul>
<a name="testStarted-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testStarted</h4>
<pre>public&nbsp;void&nbsp;testStarted(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host)</pre>
<div class="block"><p>
 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.
 </p>

 <p>
 <b>
 N.B. testStarted() and testEnded() are called from different threads.
 </b>
 </p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/jmeter/testelement/TestStateListener.html#testStarted-java.lang.String-">testStarted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/jmeter/testelement/TestStateListener.html" title="interface in org.apache.jmeter.testelement">TestStateListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>host</code> - name of host</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/jmeter/engine/StandardJMeterEngine.html#run--"><code>StandardJMeterEngine.run()</code></a></dd>
</dl>
</li>
</ul>
<a name="testEnded-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>testEnded</h4>
<pre>public&nbsp;void&nbsp;testEnded(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host)</pre>
<div class="block"><p>
 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.
 </p>

 <p>
 <b>
 N.B. testStarted() and testEnded() are called from different threads.
 </b>
 </p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/jmeter/testelement/TestStateListener.html#testEnded-java.lang.String-">testEnded</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/jmeter/testelement/TestStateListener.html" title="interface in org.apache.jmeter.testelement">TestStateListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>host</code> - name of host</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/jmeter/engine/StandardJMeterEngine.html#stopTest--"><code>StandardJMeterEngine.stopTest()</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache JMeter</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/jmeter/timers/BSFTimerBeanInfo.html" title="class in org.apache.jmeter.timers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/jmeter/timers/ConstantThroughputTimer.Mode.html" title="enum in org.apache.jmeter.timers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/jmeter/timers/ConstantThroughputTimer.html" target="_top">Frames</a></li>
<li><a href="ConstantThroughputTimer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © 1998-2021 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>
