blob: 351aa01c97b1e98d42d60f2147c1fbc1ab862141 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SleepTest (Apache JMeter dist API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.jmeter.protocol.java.test, class: SleepTest">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache JMeter</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&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="sub-nav-list">
<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>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.jmeter.protocol.java.test</a></div>
<h1 title="Class SleepTest" class="title">Class SleepTest</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="../sampler/AbstractJavaSamplerClient.html" title="class in org.apache.jmeter.protocol.java.sampler">org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient</a>
<div class="inheritance">org.apache.jmeter.protocol.java.test.SleepTest</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="../sampler/JavaSamplerClient.html" title="interface in org.apache.jmeter.protocol.java.sampler">JavaSamplerClient</a></code>, <code><a href="../../../samplers/Interruptible.html" title="interface in org.apache.jmeter.samplers">Interruptible</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@AutoService(<a href="../sampler/JavaSamplerClient.html" title="interface in org.apache.jmeter.protocol.java.sampler">JavaSamplerClient.class</a>)
</span><span class="modifiers">public class </span><span class="element-name type-name-label">SleepTest</span>
<span class="extends-implements">extends <a href="../sampler/AbstractJavaSamplerClient.html" title="class in org.apache.jmeter.protocol.java.sampler">AbstractJavaSamplerClient</a>
implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="../../../samplers/Interruptible.html" title="interface in org.apache.jmeter.samplers">Interruptible</a></span></div>
<div class="block">The <code>SleepTest</code> class is a simple example class for a JMeter
Java protocol client. The class implements the <code>JavaSamplerClient</code>
interface.
<p>
During each sample, this client will sleep for some amount of time. The
amount of time to sleep is determined from the two parameters SleepTime and
SleepMask using the formula:
<pre>
totalSleepTime = SleepTime + (System.currentTimeMillis() % SleepMask)
</pre>
Thus, the SleepMask provides a way to add a random component to the sleep
time.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../serialized-form.html#org.apache.jmeter.protocol.java.test.SleepTest">Serialized Form</a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">SleepTest</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Default constructor for <code>SleepTest</code>.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../../config/Arguments.html" title="class in org.apache.jmeter.config">Arguments</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDefaultParameters()" class="member-name-link">getDefaultParameters</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Provide a list of parameters which this test supports.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#interrupt()" class="member-name-link">interrupt</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Interrupt the current operation if possible.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../../samplers/SampleResult.html" title="class in org.apache.jmeter.samplers">SampleResult</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#runTest(org.apache.jmeter.protocol.java.sampler.JavaSamplerContext)" class="member-name-link">runTest</a><wbr>(<a href="../sampler/JavaSamplerContext.html" title="class in org.apache.jmeter.protocol.java.sampler">JavaSamplerContext</a>&nbsp;context)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Perform a single sample.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setupTest(org.apache.jmeter.protocol.java.sampler.JavaSamplerContext)" class="member-name-link">setupTest</a><wbr>(<a href="../sampler/JavaSamplerContext.html" title="class in org.apache.jmeter.protocol.java.sampler">JavaSamplerContext</a>&nbsp;context)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Do any initialization required by this client.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient">Methods inherited from class&nbsp;org.apache.jmeter.protocol.java.sampler.<a href="../sampler/AbstractJavaSamplerClient.html" title="class in org.apache.jmeter.protocol.java.sampler">AbstractJavaSamplerClient</a></h3>
<code><a href="../sampler/AbstractJavaSamplerClient.html#getNewLogger()">getNewLogger</a>, <a href="../sampler/AbstractJavaSamplerClient.html#teardownTest(org.apache.jmeter.protocol.java.sampler.JavaSamplerContext)">teardownTest</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>SleepTest</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SleepTest</span>()</div>
<div class="block">Default constructor for <code>SleepTest</code>.
The Java Sampler uses the default constructor to instantiate an instance
of the client class.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="setupTest(org.apache.jmeter.protocol.java.sampler.JavaSamplerContext)">
<h3>setupTest</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setupTest</span><wbr><span class="parameters">(<a href="../sampler/JavaSamplerContext.html" title="class in org.apache.jmeter.protocol.java.sampler">JavaSamplerContext</a>&nbsp;context)</span></div>
<div class="block">Do any initialization required by this client. In this case,
initialization consists of getting the values of the SleepTime and
SleepMask parameters. It is generally recommended to do any
initialization such as getting parameter values in the setupTest method
rather than the runTest method in order to add as little overhead as
possible to the test.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../sampler/JavaSamplerClient.html#setupTest(org.apache.jmeter.protocol.java.sampler.JavaSamplerContext)">setupTest</a></code>&nbsp;in interface&nbsp;<code><a href="../sampler/JavaSamplerClient.html" title="interface in org.apache.jmeter.protocol.java.sampler">JavaSamplerClient</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="../sampler/AbstractJavaSamplerClient.html#setupTest(org.apache.jmeter.protocol.java.sampler.JavaSamplerContext)">setupTest</a></code>&nbsp;in class&nbsp;<code><a href="../sampler/AbstractJavaSamplerClient.html" title="class in org.apache.jmeter.protocol.java.sampler">AbstractJavaSamplerClient</a></code></dd>
<dt>Parameters:</dt>
<dd><code>context</code> - the context to run with. This provides access to
initialization parameters.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="runTest(org.apache.jmeter.protocol.java.sampler.JavaSamplerContext)">
<h3>runTest</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../../samplers/SampleResult.html" title="class in org.apache.jmeter.samplers">SampleResult</a></span>&nbsp;<span class="element-name">runTest</span><wbr><span class="parameters">(<a href="../sampler/JavaSamplerContext.html" title="class in org.apache.jmeter.protocol.java.sampler">JavaSamplerContext</a>&nbsp;context)</span></div>
<div class="block">Perform a single sample. In this case, this method will simply sleep for
some amount of time. Perform a single sample for each iteration. This
method returns a <code>SampleResult</code> object.
<code>SampleResult</code> has many fields which can be used. At a
minimum, the test should use <code>SampleResult.sampleStart</code> and
<code>SampleResult.sampleEnd</code>to set the time that the test
required to execute. It is also a good idea to set the sampleLabel and
the successful flag.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../sampler/JavaSamplerClient.html#runTest(org.apache.jmeter.protocol.java.sampler.JavaSamplerContext)">runTest</a></code>&nbsp;in interface&nbsp;<code><a href="../sampler/JavaSamplerClient.html" title="interface in org.apache.jmeter.protocol.java.sampler">JavaSamplerClient</a></code></dd>
<dt>Parameters:</dt>
<dd><code>context</code> - the context to run with. This provides access to
initialization parameters.</dd>
<dt>Returns:</dt>
<dd>a SampleResult giving the results of this sample.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="../../../samplers/SampleResult.html#sampleStart()"><code>SampleResult.sampleStart()</code></a></li>
<li><a href="../../../samplers/SampleResult.html#sampleEnd()"><code>SampleResult.sampleEnd()</code></a></li>
<li><a href="../../../samplers/SampleResult.html#setSuccessful(boolean)"><code>SampleResult.setSuccessful(boolean)</code></a></li>
<li><a href="../../../samplers/SampleResult.html#setSampleLabel(java.lang.String)"><code>SampleResult.setSampleLabel(String)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDefaultParameters()">
<h3>getDefaultParameters</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../../config/Arguments.html" title="class in org.apache.jmeter.config">Arguments</a></span>&nbsp;<span class="element-name">getDefaultParameters</span>()</div>
<div class="block">Provide a list of parameters which this test supports. Any parameter
names and associated values returned by this method will appear in the
GUI by default so the user doesn't have to remember the exact names. The
user can add other parameters which are not listed here. If this method
returns null then no parameters will be listed. If the value for some
parameter is null then that parameter will be listed in the GUI with an
empty value.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../sampler/JavaSamplerClient.html#getDefaultParameters()">getDefaultParameters</a></code>&nbsp;in interface&nbsp;<code><a href="../sampler/JavaSamplerClient.html" title="interface in org.apache.jmeter.protocol.java.sampler">JavaSamplerClient</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="../sampler/AbstractJavaSamplerClient.html#getDefaultParameters()">getDefaultParameters</a></code>&nbsp;in class&nbsp;<code><a href="../sampler/AbstractJavaSamplerClient.html" title="class in org.apache.jmeter.protocol.java.sampler">AbstractJavaSamplerClient</a></code></dd>
<dt>Returns:</dt>
<dd>a specification of the parameters used by this test which should
be listed in the GUI, or null if no parameters should be listed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="interrupt()">
<h3>interrupt</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">interrupt</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../../../samplers/Interruptible.html#interrupt()">Interruptible</a></code></span></div>
<div class="block">Interrupt the current operation if possible.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../../samplers/Interruptible.html#interrupt()">interrupt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../samplers/Interruptible.html" title="interface in org.apache.jmeter.samplers">Interruptible</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if there was an operation to interrupt.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 1998-2024 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>