You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by mi...@apache.org on 2015/03/08 11:22:59 UTC
svn commit: r1664961 [17/19] - in /jmeter/trunk/docs: ./ css/ usermanual/
Modified: jmeter/trunk/docs/usermanual/realtime-results.html
URL: http://svn.apache.org/viewvc/jmeter/trunk/docs/usermanual/realtime-results.html?rev=1664961&r1=1664960&r2=1664961&view=diff
==============================================================================
--- jmeter/trunk/docs/usermanual/realtime-results.html (original)
+++ jmeter/trunk/docs/usermanual/realtime-results.html Sun Mar 8 10:22:58 2015
@@ -1,813 +1,229 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Content Stylesheet for Site -->
-
-
-<!-- start the processing -->
-<html>
-<head>
-<link rel="stylesheet" type="text/css" href="../css/style.css"/>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
-<meta name="author" value="Philippe Mouawad">
-<meta name="email" value="p.mouawad at ubik-ingenierie.com">
-
-<title>Apache JMeter - User's Manual: Live Statistics</title>
-</head>
-
-<body bgcolor="#ffffff" text="#000000" link="#525D76">
-<table width="100%" cellspacing="0" border="0">
-<tr>
-<td width="90%" align="left">
-<table border="0" cellspacing="0">
-<tr>
-<td width="10%">
-<a href="http://www.apache.org"><img title="Apache Software Foundation" width="290" height="75" src="../images/asf-logo.png" border="0"/></a>
-</td>
-<td align="left" width="40%">
-
-<a href="http://jmeter.apache.org/"><img width="182" height="88" src="../images/logo.jpg" alt="Apache JMeter" title="Apache JMeter" border="0"/></a>
-</td>
-</tr>
-</table>
-</td>
-<td align="left" width="50%">
-<table cellspacing="0" align="right" border="0">
-<tr>
-<td align="left"> <a href="https://twitter.com/share"
-class="twitter-share-button"
-data-text="Powerful Load Testing with
-Apache #JMeter" data-via="ApacheJMeter"
-data-lang="en-gb" data-size="large">Tweet</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-</td>
-<td align="right"> <a
-href="https://twitter.com/ApacheJMeter"
-class="twitter-follow-button"
-data-show-count="false" data-lang="en-gb"
-data-size="large">Follow</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-</td>
-</tr>
-</table>
-</td></tr>
-</table>
-
-<table border="0" width="100%" cellspacing="4">
-<tr><td colspan="2">
-<hr noshade size="1"/>
-</td></tr>
-<tr>
-<!-- LEFT SIDE NAVIGATION -->
-<td width="20%" valign="top" nowrap="true">
-<table border="0" width="100%" cellspacing="0">
-<tr><td>
-<p><strong>About</strong></p>
-<ul>
-<li><a href="../index.html">Overview</a>
-</li>
-<li><a href="http://twitter.com/ApacheJMeter">JMeter on Twitter</a>
-<img src="../images/twitter.png" align="top"/></li>
-<li><a href="../issues.html">Issue Tracking</a>
-</li>
-<li><a href="http://projects.apache.org/feeds/rss/jmeter.xml">Subscribe to What's New</a>
-</li>
-<li><a href="http://www.apache.org/licenses/">License</a>
-</li>
-</ul>
-<p><strong>Download</strong></p>
-<ul>
-<li><a href="../download_jmeter.cgi">Download Releases</a>
-</li>
-<li><a href="../nightly.html">Developer (Nightly) Builds</a>
-</li>
-</ul>
-<p><strong>Documentation</strong></p>
-<ul>
-<li><a href="../changes.html">Changes per version</a>
-</li>
-<li><a href="../usermanual/get-started.html">Get Started</a>
-</li>
-<li><a href="../usermanual/index.html">User Manual</a>
-</li>
-<li><a href="../usermanual/best-practices.html">Best Practices</a>
-</li>
-<li><a href="../usermanual/component_reference.html">Component Reference</a>
-</li>
-<li><a href="../usermanual/functions.html">Functions Reference</a>
-</li>
-<li><a href="../api/index.html">Javadocs</a>
-</li>
-<li><a href="../building.html">Building JMeter and Add-Ons</a>
-</li>
-<li><a href="http://wiki.apache.org/jmeter">JMeter Wiki</a>
-</li>
-<li><a href="http://wiki.apache.org/jmeter/JMeterFAQ">FAQ (Wiki)</a>
-</li>
-</ul>
-<p><strong>Tutorials (PDF format)</strong></p>
-<ul>
-<li><a href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed Testing</a>
-</li>
-<li><a href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a>
-</li>
-<li><a href="../usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a>
-</li>
-<li><a href="../usermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log Sampler</a>
-</li>
-<li><a href="../extending/jmeter_tutorial.pdf">Extending JMeter</a>
-</li>
-</ul>
-<p><strong>Community</strong></p>
-<ul>
-<li><a href="http://wiki.apache.org/jmeter/JMeterCommitters">Contributors</a>
-</li>
-<li><a href="../mail.html">Mailing Lists</a>
-</li>
-<li><a href="../svnindex.html">SVN Repositories</a>
-</li>
-</ul>
-<p><strong>Foundation</strong></p>
-<ul>
-<li><a href="http://www.apache.org/">ASF</a>
-</li>
-<li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved in the ASF</a>
-</li>
-<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
-</li>
-<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a>
-</li>
-</ul>
-</td></tr>
-<tr><td>
-<iframe src="http://www.apache.org/ads/button.html" style="border-width:0; float: left;" frameborder="0" scrolling="no"></iframe>
-</td></tr>
-</table>
-</td>
-<td width="80%" align="left" valign="top">
-<table>
-<tr>
-<td bgcolor="#525D76">
-<div align="right"><a href="index.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Index</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="component_reference.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Next</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="live-statistics.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Prev</font></a></div>
-</td>
-</tr>
-</table>
-<br>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#525D76">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="realtime-results"><strong>17. Real-time results</strong></a><a class="sectionlink" href="#realtime-results" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-Since JMeter 2.13 you can get realtime results sent to a backend through the
-
-<a href="component_reference.html#Backend_Listener">
-Backend Listener
-</a>
- using potentially any backend (JDBC, JMS, Webservice...) implementing
-<a href="../api/org/apache/jmeter/visualizers/backend/AbstractBackendListenerClient.html">
-AbstractBackendListenerClient
-</a>
-.
-<br>
-
-
-JMeter ships with a GraphiteBackendListenerClient which allows you to send metrics to a Graphite Backend.
-<br>
-
-
+<!DOCTYPE html SYSTEM "about:legacy-compat">
+<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-15"><title>Apache JMeter
+ -
+ User's Manual: Live Statistics</title><meta name="author" value="Philippe Mouawad"><meta name="email" value="p.mouawad at ubik-ingenierie.com"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="http://fonts.googleapis.com/css?family=Merriweather:400normal" rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" href="../css/new-style.css"></head><body role="document"><a href="#content" class="hidden">Main content</a><div class="header"><!--
+ APACHE LOGO
+ --><div><a href="http://www.apache.org"><img title="Apache Software Foundation" width="290" height="75" src="../images/asf-logo.png" alt="Logo ASF"></a></div><!--
+ PROJECT LOGO
+ --><div><a href="http://jmeter.apache.org/"><img src="../images/logo.jpg" alt="Apache JMeter"></a></div><div class="twitter"><div><a href="https://twitter.com/share" class="twitter-share-button" data-text="Powerful Load Testing with Apache #JMeter" data-via="ApacheJMeter" data-lang="en-gb" data-size="large">Tweet</a><script>
+ (function(d,s,id){
+ var js,
+ fjs=d.getElementsByTagName(s)[0],
+ p=/^http:/.test(d.location)?'http':'https';
+ if (!d.getElementById(id)) {
+ js=d.createElement(s);
+ js.id=id;
+ js.src=p+'://platform.twitter.com/widgets.js';
+ fjs.parentNode.insertBefore(js,fjs);
+ }
+ })(document, 'script', 'twitter-wjs');
+ </script></div><div><a href="https://twitter.com/ApacheJMeter" class="twitter-follow-button" data-show-count="false" data-lang="en-gb" data-size="large">Follow</a><script>(function(d,s,id){
+ var js,
+ fjs=d.getElementsByTagName(s)[0],
+ p=/^http:/.test(d.location)?'http':'https';
+ if (!d.getElementById(id)) {
+ js=d.createElement(s);
+ js.id=id;
+ js.src=p+'://platform.twitter.com/widgets.js';
+ fjs.parentNode.insertBefore(js,fjs);
+ }
+ })(document, 'script', 'twitter-wjs');
+ </script></div></div><div class="banner"><iframe src="http://www.apache.org/ads/bannerbar.html" style="border-width:0;" frameborder="0" scrolling="no"></iframe><div class="clear"></div></div></div><div class="nav"><ul class="menu"><li><div class="menu-title">About</div><ul><li><a href="../index.html">Overview</a></li><li><a href="http://twitter.com/ApacheJMeter">JMeter on Twitter<img src="../images/twitter.png" alt="Icon for JMeter on Twitter"></a></li><li><a href="../issues.html">Issue Tracking</a></li><li><a href="http://projects.apache.org/feeds/rss/jmeter.xml">Subscribe to What's New</a></li><li><a href="http://www.apache.org/licenses/">License</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Download</div><ul><li><a href="../download_jmeter.cgi">Download Releases</a></li><li><a href="../nightly.html">Developer (Nightly) Builds</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Documentation</div><ul><li><a href="../changes.html"
>Changes per version</a></li><li><a href="../usermanual/get-started.html">Get Started</a></li><li><a href="../usermanual/index.html">User Manual</a></li><li><a href="../usermanual/best-practices.html">Best Practices</a></li><li><a href="../usermanual/component_reference.html">Component Reference</a></li><li><a href="../usermanual/functions.html">Functions Reference</a></li><li><a href="../api/index.html">Javadocs</a></li><li><a href="../building.html">Building JMeter and Add-Ons</a></li><li><a href="http://wiki.apache.org/jmeter">JMeter Wiki</a></li><li><a href="http://wiki.apache.org/jmeter/JMeterFAQ">FAQ (Wiki)</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Tutorials (PDF format)</div><ul><li><a href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed Testing</a></li><li><a href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a></li><li><a href="../usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a></li><li><a href="../us
ermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log Sampler</a></li><li><a href="../extending/jmeter_tutorial.pdf">Extending JMeter</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Community</div><ul><li><a href="http://wiki.apache.org/jmeter/JMeterCommitters">Contributors</a></li><li><a href="../mail.html">Mailing Lists</a></li><li><a href="../svnindex.html">SVN Repositories</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Foundation</div><ul><li><a href="http://www.apache.org/">ASF</a></li><li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved in the ASF</a></li><li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li></ul></li></ul></div><div class="main" id="content"><ul class="pagelinks"><li><a href="live-statistics.html">< Prev</a></li><li><a href="../index.html">Index</a></li><li><a href="component_refer
ence.html">Next ></a></li></ul><div class="section"><h1 id="realtime-results">17. Real-time results<a class="sectionlink" href="#realtime-results" title="Link to here">¶</a></h1>
+<p>Since JMeter 2.13 you can get realtime results sent to a backend through the
+<a href="component_reference.html#Backend_Listener">Backend Listener</a> using potentially any backend (JDBC, JMS, Webservice...) implementing <a href="../api/org/apache/jmeter/visualizers/backend/AbstractBackendListenerClient.html">AbstractBackendListenerClient</a>.<br>
+JMeter ships with a GraphiteBackendListenerClient which allows you to send metrics to a Graphite Backend.<br>
This feature provides:
-
<ul>
-
-
-<li>
-Live results
-</li>
-
-
-<li>
-Nice graphs for metrics
-</li>
-
-
-<li>
-Ability to compare 2 or more load tests
-</li>
-
-
-<li>
-Having monitoring data as long as JMeter results in the same backend
-</li>
-
-
-<li>
-...
-</li>
-
-
+<li>Live results</li>
+<li>Nice graphs for metrics</li>
+<li>Ability to compare 2 or more load tests</li>
+<li>Storing monitoring data as long as JMeter results in the same backend</li>
+<li>...</li>
</ul>
-
-In this document we will present the configuration setup to be able to graph and historize the data in 3 different backends:
-
+In this document we will present the configuration setup to graph and historize the data in 2 different backends:
<ul>
-
-
-<li>
-InfluxDB
-</li>
-
-
-<li>
-CollectD
-</li>
-
-
-<li>
-Graphite
-</li>
-
-
+<li>InfluxDB</li>
+<li>Graphite</li>
</ul>
-
-
</p>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="metrics"><strong>17.1 Metrics exposed</strong></a>
-<a class="sectionlink" href="#metrics" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="metrics-threads"><strong>17.1.1 Thread/Virtual Users metrics</strong></a>
-<a class="sectionlink" href="#metrics-threads" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-
+<div class="subsection"><h2>17.1 Metrics exposed<a class="sectionlink" href="#metrics" title="Link to here">¶</a></h2>
+ <div class="subsection"><h2>17.1.1 Thread/Virtual Users metrics<a class="sectionlink" href="#metrics-threads" title="Link to here">¶</a></h2>
+ <p>
Threads metrics are the following:
-
-</p>
-<table>
-<tr>
-<td bgcolor="#039acc" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Metric Name
-</font>
-</td>
-<td bgcolor="#039acc" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Description
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.cumulated.minActiveThreads
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Min active threads
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.cumulated.maxActiveThreads
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Max active threads
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.cumulated.meanActiveThreads
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Mean active threads
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.cumulated.startedThreads
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Started threads
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.cumulated.stoppedThreads
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Finished threads
-</font>
-</td>
-</tr>
-</table>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="metrics-response-times"><strong>17.1.2 Response times metrics</strong></a>
-<a class="sectionlink" href="#metrics-response-times" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-Response times metrics are the following:
-</p>
-<table>
-<tr>
-<td bgcolor="#039acc" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Metric Name
-</font>
-</td>
-<td bgcolor="#039acc" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Description
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.<samplerName>.success
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Number of successful responses for sampler name
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.<samplerName>.failure
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Number of failed responses for sampler name
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.<samplerName>.total
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Total number of requests for sampler name
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.<samplerName>.min
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Min response time for sampler name
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.<samplerName>.max
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Max response time for sampler name
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-<rootMetricsPrefix>.<samplerName>.percentile<percentileValue>
-</font>
-</td>
-<td bgcolor="#a0ddf0" valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Percentile computed for successful responses of sampler name. You can input as many percentiles as you want (3 or 4 being a reasonable value).<br />
- By default listener computes percentiles 90%, 95% and 99%
-</font>
-</td>
-</tr>
-</table>
-<p>
-
- By default JMeter sends only metrics for all samplers using "__cumulated__" as samplerName.
-
-</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="jmeter-configuration"><strong>17.2 JMeter configuration</strong></a>
-<a class="sectionlink" href="#jmeter-configuration" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
+ </p>
+ <table>
+ <tr>
+ <th>Metric Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.test.minAT</td>
+ <td>Min active threads</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.test.maxAT</td>
+ <td>Max active threads</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.test.meanAT</td>
+ <td>Mean active threads</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.test.startedT</td>
+ <td>Started threads</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.test.endedT</td>
+ <td>Finished threads</td>
+ </tr>
+ </table>
+ </div>
+ <div class="subsection"><h2>17.1.2 Response times metrics<a class="sectionlink" href="#metrics-response-times" title="Link to here">¶</a></h2>
+ <p>Response times metrics are the following:</p>
+ <table>
+ <tr>
+ <th>Metric Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.ok.count</td>
+ <td>Number of successful responses for sampler name</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.ok.min</td>
+ <td>Min response time for successful responses of sampler name</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.ok.max</td>
+ <td>Max response time for successful responses of sampler name</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.ok.pct<percentileValue></td>
+ <td>Percentile computed for successful responses of sampler name. You can input as many percentiles as you want (3 or 4 being a reasonable value).<br>
+ When percentile contains a comma for example "99.9", dot is sanitized by "_" leading to 99_9.
+ By default listener computes percentiles 90%, 95% and 99%</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.ko.count</td>
+ <td>Number of failed responses for sampler name</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.ko.min</td>
+ <td>Min response time for failed responses of sampler name</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.ko.max</td>
+ <td>Max response time for failed responses of sampler name</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.ko.pct<percentileValue></td>
+ <td>Percentile computed for failed responses of sampler name. You can input as many percentiles as you want (3 or 4 being a reasonable value).<br>
+ When percentile contains a comma for example "99.9", dot is sanitized by "_" leading to 99_9.
+ By default listener computes percentiles 90%, 95% and 99%</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.a.count</td>
+ <td>Number of responses for sampler name</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.a.min</td>
+ <td>Min response time for responses of sampler name</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.a.max</td>
+ <td>Max response time for responses of sampler name</td>
+ </tr>
+ <tr>
+ <td><rootMetricsPrefix>.<samplerName>.a.pct<percentileValue></td>
+ <td>Percentile computed for responses of sampler name. You can input as many percentiles as you want (3 or 4 being a reasonable value).<br>
+ When percentile contains a comma for example "99.9", dot is sanitized by "_" leading to 99_9.
+ By default listener computes percentiles 90%, 95% and 99%</td>
+ </tr>
+ </table>
+ <p>
+ By default JMeter sends only metrics for all samplers using "all" as samplerName.
+ </p>
+ </div>
+</div>
+<div class="subsection"><h2>17.2 JMeter configuration<a class="sectionlink" href="#jmeter-configuration" title="Link to here">¶</a></h2>
+ <p>
+ To make JMeter send metrics to backend add a <a href="./component_reference.html#Backend_Listener">BackendListener</a> using the GraphiteBackendListenerClient.
+ </p>
+ <figure><a href="../images/screenshots/backend_listener.png"><img src="../images/screenshots/backend_listener.png" width="902" height="341" alt="Graphite configuration"></a><figcaption>Graphite configuration</figcaption></figure>
+</div>
- To make JMeter send metrics to backend add a
-<a href="./component_reference.html#Backend_Listener">
-BackendListener
-</a>
- using the GraphiteBackendListenerClient.
-
-</p>
-<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='1138' height='352' src="../images/screenshots/backend_listener.png"/><br>
-<font size="-1">Graphite configuration
-</font></td></tr></table></p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="influxdb"><strong>17.2 InfluxDB</strong></a>
-<a class="sectionlink" href="#influxdb" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-InfluxDB is an open-source, distributed,time-series database that allows to
+<div class="subsection"><h2>17.2 InfluxDB<a class="sectionlink" href="#influxdb" title="Link to here">¶</a></h2>
+<p>InfluxDB is an open-source, distributed,time-series database that allows to
easily store metrics.
-Installation and configuration is very easy, read this for more details
-<a href="http://influxdb.com/docs/v0.8/introduction/installation.html" target="_blank">
-InfluxDB documentation
-</a>
-.
-<br>
-
-
-InfluxDB data can be easily viewed in a browser through either
-<a href="https://github.com/hakobera/influga" target="_blank">
-Influga
-</a>
- or
-<a href="http://grafana.org/" target="_blank">
-Grafana
-</a>
-.
+Installation and configuration is very easy, read this for more details <a href="http://influxdb.com/docs/v0.8/introduction/installation.html" target="_blank">InfluxDB documentation</a>.<br>
+InfluxDB data can be easily viewed in a browser through either <a href="https://github.com/hakobera/influga" target="_blank">Influga</a> or <a href="http://grafana.org/" target="_blank">Grafana</a>.
We will use Grafana in this case.
-
-</p>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="influxdb_configuration"><strong>17.2.1 InfluxDB graphite listener configuration</strong></a>
-<a class="sectionlink" href="#influxdb_configuration" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-To enable Graphite listener in InfluxDB, edit files /opt/influxdb/shared/config.toml or /usr/local/etc/influxdb.conf, find "input_plugins.graphite" and set this:
-
-</p>
-<code>
-
- # Configure the graphite api
-<br>
-
-
- [input_plugins.graphite]
-<br>
-
-
- enabled = true
-<br>
-
-
- address = "0.0.0.0" # If not set, is actually set to bind-address.
-<br>
-
-
- port = 2003
-<br>
-
-
- database = "jmeter" # store graphite data in this database
-<br>
-
-
- # udp_enabled = true # enable udp interface on the same port as the tcp interface
-<br>
-
-
-
-</code>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="influxdb_db_configuration"><strong>17.2.2 InfluxDB database configuration</strong></a>
-<a class="sectionlink" href="#influxdb_db_configuration" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-Connect to InfluxDB admin console and create 2 databases:
-
-<ul>
-
-
-<li>
-grafana : Used by Grafana to store the dashboards we will create
-</li>
-
-
-<li>
-jmeter : Used by InfluxDB to store the data sent to Graphite Listener as per database="jmeter" config element in influxdb.conf or config.toml
-</li>
-
-
-</ul>
-
-
-</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="grafana_configuration"><strong>17.2.3 Grafana configuration</strong></a>
-<a class="sectionlink" href="#grafana_configuration" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-
- Installing grafana is just a matter of putting the unzipped bundle behind an Apache HTTP server.
-<br>
-
-
- Read
-<a href="http://grafana.org/docs/" targer="_blank">
-documentation
-</a>
- for more details.
- Open config.js file and find datasources element, and edit it like this:
-<br>
-
-
-
</p>
-<code>
-
- datasources: {
-<br>
-
-
- influxdb: {
-<br>
-
-
- type: 'influxdb',
-<br>
-
-
- url: "http://localhost:8086/db/jmeter",
-<br>
-
-
- username: 'root',
-<br>
-
-
- password: 'root',
-<br>
-
-
+ <div class="subsection"><h2>17.2.1 InfluxDB graphite listener configuration<a class="sectionlink" href="#influxdb_configuration" title="Link to here">¶</a></h2>
+ <p>To enable Graphite listener in InfluxDB, edit files /opt/influxdb/shared/config.toml or /usr/local/etc/influxdb.conf, find "input_plugins.graphite" and set this:
+ </p>
+ <span class="code">
+ # Configure the graphite api<br>
+ [input_plugins.graphite]<br>
+ enabled = true<br>
+ address = "0.0.0.0" # If not set, is actually set to bind-address.<br>
+ port = 2003<br>
+ database = "jmeter" # store graphite data in this database<br>
+ # udp_enabled = true # enable udp interface on the same port as the tcp interface<br>
+ </span>
+ </div>
+ <div class="subsection"><h2>17.2.2 InfluxDB database configuration<a class="sectionlink" href="#influxdb_db_configuration" title="Link to here">¶</a></h2>
+ <p>Connect to InfluxDB admin console and create 2 databases:
+ <ul>
+ <li>grafana : Used by Grafana to store the dashboards we will create</li>
+ <li>jmeter : Used by InfluxDB to store the data sent to Graphite Listener as per database="jmeter" config element in influxdb.conf or config.toml</li>
+ </ul>
+ </p>
+ </div>
+ <div class="subsection"><h2>17.2.3 Grafana configuration<a class="sectionlink" href="#grafana_configuration" title="Link to here">¶</a></h2>
+ <p>
+ Installing grafana is just a matter of putting the unzipped bundle behind an Apache HTTP server.<br>
+ Read <a href="http://grafana.org/docs/" targer="_blank">documentation</a> for more details.
+ Open config.js file and find datasources element, and edit it like this:<br>
+ </p>
+ <span class="code">
+ datasources: {<br>
+ influxdb: {<br>
+ type: 'influxdb',<br>
+ url: "http://localhost:8086/db/jmeter",<br>
+ username: 'root',<br>
+ password: 'root',<br>
},
- grafana: {
-<br>
-
-
- type: 'influxdb',
-<br>
-
-
- url: "http://localhost:8086/db/grafana",
-<br>
-
-
- username: 'root',
-<br>
-
-
- password: 'root',
-<br>
-
-
- grafanaDB: true
-<br>
-
-
- },
-<br>
-
-
+ grafana: {<br>
+ type: 'influxdb',<br>
+ url: "http://localhost:8086/db/grafana",<br>
+ username: 'root',<br>
+ password: 'root',<br>
+ grafanaDB: true<br>
+ },<br>
},
-
-</code>
-<br>
-
-<p>
-
- Note that grafana has "grafanaDB:true". Also note that here we use root user for simplicity, it is better to dedicate a special user with less rights.
-<br>
-
-
+ </span><br>
+ <p>
+ Note that grafana has "grafanaDB:true". Also note that here we use root user for simplicity, it is better to dedicate a special user with less rights.<br>
Here is the kind of dashboard that you could obtain:
+ </p>
+ <figure><a href="../images/screenshots/grafana_dashboard.png"><img src="../images/screenshots/grafana_dashboard.png" width="1265" height="581" alt="Grafana dashboard"></a><figcaption>Grafana dashboard</figcaption></figure>
-</p>
-<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='1912' height='957' src="../images/screenshots/grafana_dashboard.png"/><br>
-<font size="-1">Grafana dashboard
-</font></td></tr></table></p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="collectd"><strong>17.3 Collectd</strong></a>
-<a class="sectionlink" href="#collectd" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-TODO.
-</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="graphite"><strong>17.4 Graphite</strong></a>
-<a class="sectionlink" href="#graphite" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-TODO.
-</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-</blockquote>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<br>
-<table>
-<tr>
-<td bgcolor="#525D76">
-<div align="right"><a href="index.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Index</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="component_reference.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Next</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="live-statistics.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Prev</font></a></div>
-</td>
-</tr>
-</table>
-</td>
-</tr>
-<tr><td colspan="2">
-<hr noshade size="1"/>
-</td></tr>
-<tr><td colspan="2">
-<div align="center"><font color="#525D76" size="-1"><em>
-Copyright © 1999-2015, Apache Software Foundation
-</em></font></div>
-</td></tr>
-<tr><td colspan="2">
-<div align="center"><font color="#525D76" size="-1">
-Apache, Apache JMeter, JMeter, the Apache feather, and the Apache JMeter logo are
-trademarks of the Apache Software Foundation.
-</font>
+ </div>
</div>
-</td></tr>
-</table>
-</body>
-</html>
-<!-- end the processing -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+<div class="subsection"><h2>17.3 Graphite<a class="sectionlink" href="#graphite" title="Link to here">¶</a></h2>
+<p>TODO.</p>
+</div>
+</div><ul class="pagelinks"><li><a href="live-statistics.html">< Prev</a></li><li><a href="../index.html">Index</a></li><li><a href="component_reference.html">Next ></a></li></ul></div><div class="footer"><div class="copyright">
+ Copyright ©
+ 1999 –
+ 2015
+ , Apache Software Foundation
+ </div><div class="trademarks">Apache, Apache JMeter, JMeter, the Apache
+ feather, and the Apache JMeter logo are
+ trademarks of the
+ Apache Software Foundation.
+ </div></div></body></html>
\ No newline at end of file
Modified: jmeter/trunk/docs/usermanual/regular_expressions.html
URL: http://svn.apache.org/viewvc/jmeter/trunk/docs/usermanual/regular_expressions.html?rev=1664961&r1=1664960&r2=1664961&view=diff
==============================================================================
--- jmeter/trunk/docs/usermanual/regular_expressions.html (original)
+++ jmeter/trunk/docs/usermanual/regular_expressions.html Sun Mar 8 10:22:58 2015
@@ -1,903 +1,255 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Content Stylesheet for Site -->
-
-
-<!-- start the processing -->
-<html>
-<head>
-<link rel="stylesheet" type="text/css" href="../css/style.css"/>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
-
-<title>Apache JMeter - User's Manual: Regular Expressions</title>
-</head>
-
-<body bgcolor="#ffffff" text="#000000" link="#525D76">
-<table width="100%" cellspacing="0" border="0">
-<tr>
-<td width="90%" align="left">
-<table border="0" cellspacing="0">
-<tr>
-<td width="10%">
-<a href="http://www.apache.org"><img title="Apache Software Foundation" width="290" height="75" src="../images/asf-logo.png" border="0"/></a>
-</td>
-<td align="left" width="40%">
-
-<a href="http://jmeter.apache.org/"><img width="182" height="88" src="../images/logo.jpg" alt="Apache JMeter" title="Apache JMeter" border="0"/></a>
-</td>
-</tr>
-</table>
-</td>
-<td align="left" width="50%">
-<table cellspacing="0" align="right" border="0">
-<tr>
-<td align="left"> <a href="https://twitter.com/share"
-class="twitter-share-button"
-data-text="Powerful Load Testing with
-Apache #JMeter" data-via="ApacheJMeter"
-data-lang="en-gb" data-size="large">Tweet</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-</td>
-<td align="right"> <a
-href="https://twitter.com/ApacheJMeter"
-class="twitter-follow-button"
-data-show-count="false" data-lang="en-gb"
-data-size="large">Follow</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-</td>
-</tr>
-</table>
-</td></tr>
-</table>
-
-<table border="0" width="100%" cellspacing="4">
-<tr><td colspan="2">
-<hr noshade size="1"/>
-</td></tr>
-<tr>
-<!-- LEFT SIDE NAVIGATION -->
-<td width="20%" valign="top" nowrap="true">
-<table border="0" width="100%" cellspacing="0">
-<tr><td>
-<p><strong>About</strong></p>
-<ul>
-<li><a href="../index.html">Overview</a>
-</li>
-<li><a href="http://twitter.com/ApacheJMeter">JMeter on Twitter</a>
-<img src="../images/twitter.png" align="top"/></li>
-<li><a href="../issues.html">Issue Tracking</a>
-</li>
-<li><a href="http://projects.apache.org/feeds/rss/jmeter.xml">Subscribe to What's New</a>
-</li>
-<li><a href="http://www.apache.org/licenses/">License</a>
-</li>
-</ul>
-<p><strong>Download</strong></p>
-<ul>
-<li><a href="../download_jmeter.cgi">Download Releases</a>
-</li>
-<li><a href="../nightly.html">Developer (Nightly) Builds</a>
-</li>
-</ul>
-<p><strong>Documentation</strong></p>
-<ul>
-<li><a href="../changes.html">Changes per version</a>
-</li>
-<li><a href="../usermanual/get-started.html">Get Started</a>
-</li>
-<li><a href="../usermanual/index.html">User Manual</a>
-</li>
-<li><a href="../usermanual/best-practices.html">Best Practices</a>
-</li>
-<li><a href="../usermanual/component_reference.html">Component Reference</a>
-</li>
-<li><a href="../usermanual/functions.html">Functions Reference</a>
-</li>
-<li><a href="../api/index.html">Javadocs</a>
-</li>
-<li><a href="../building.html">Building JMeter and Add-Ons</a>
-</li>
-<li><a href="http://wiki.apache.org/jmeter">JMeter Wiki</a>
-</li>
-<li><a href="http://wiki.apache.org/jmeter/JMeterFAQ">FAQ (Wiki)</a>
-</li>
-</ul>
-<p><strong>Tutorials (PDF format)</strong></p>
-<ul>
-<li><a href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed Testing</a>
-</li>
-<li><a href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a>
-</li>
-<li><a href="../usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a>
-</li>
-<li><a href="../usermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log Sampler</a>
-</li>
-<li><a href="../extending/jmeter_tutorial.pdf">Extending JMeter</a>
-</li>
-</ul>
-<p><strong>Community</strong></p>
-<ul>
-<li><a href="http://wiki.apache.org/jmeter/JMeterCommitters">Contributors</a>
-</li>
-<li><a href="../mail.html">Mailing Lists</a>
-</li>
-<li><a href="../svnindex.html">SVN Repositories</a>
-</li>
-</ul>
-<p><strong>Foundation</strong></p>
-<ul>
-<li><a href="http://www.apache.org/">ASF</a>
-</li>
-<li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved in the ASF</a>
-</li>
-<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
-</li>
-<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a>
-</li>
-</ul>
-</td></tr>
-<tr><td>
-<iframe src="http://www.apache.org/ads/button.html" style="border-width:0; float: left;" frameborder="0" scrolling="no"></iframe>
-</td></tr>
-</table>
-</td>
-<td width="80%" align="left" valign="top">
-<table>
-<tr>
-<td bgcolor="#525D76">
-<div align="right"><a href="index.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Index</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="hints_and_tips.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Next</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="functions.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Prev</font></a></div>
-</td>
-</tr>
-</table>
-<br>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#525D76">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="regex"><strong>20. Regular Expressions</strong></a><a class="sectionlink" href="#regex" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="overview"><strong>20.1 Overview</strong></a>
-<a class="sectionlink" href="#overview" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
+<!DOCTYPE html SYSTEM "about:legacy-compat">
+<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-15"><title>Apache JMeter
+ -
+ User's Manual: Regular Expressions</title><meta name="viewport" content="width=device-width, initial-scale=1"><link href="http://fonts.googleapis.com/css?family=Merriweather:400normal" rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" href="../css/new-style.css"></head><body role="document"><a href="#content" class="hidden">Main content</a><div class="header"><!--
+ APACHE LOGO
+ --><div><a href="http://www.apache.org"><img title="Apache Software Foundation" width="290" height="75" src="../images/asf-logo.png" alt="Logo ASF"></a></div><!--
+ PROJECT LOGO
+ --><div><a href="http://jmeter.apache.org/"><img src="../images/logo.jpg" alt="Apache JMeter"></a></div><div class="twitter"><div><a href="https://twitter.com/share" class="twitter-share-button" data-text="Powerful Load Testing with Apache #JMeter" data-via="ApacheJMeter" data-lang="en-gb" data-size="large">Tweet</a><script>
+ (function(d,s,id){
+ var js,
+ fjs=d.getElementsByTagName(s)[0],
+ p=/^http:/.test(d.location)?'http':'https';
+ if (!d.getElementById(id)) {
+ js=d.createElement(s);
+ js.id=id;
+ js.src=p+'://platform.twitter.com/widgets.js';
+ fjs.parentNode.insertBefore(js,fjs);
+ }
+ })(document, 'script', 'twitter-wjs');
+ </script></div><div><a href="https://twitter.com/ApacheJMeter" class="twitter-follow-button" data-show-count="false" data-lang="en-gb" data-size="large">Follow</a><script>(function(d,s,id){
+ var js,
+ fjs=d.getElementsByTagName(s)[0],
+ p=/^http:/.test(d.location)?'http':'https';
+ if (!d.getElementById(id)) {
+ js=d.createElement(s);
+ js.id=id;
+ js.src=p+'://platform.twitter.com/widgets.js';
+ fjs.parentNode.insertBefore(js,fjs);
+ }
+ })(document, 'script', 'twitter-wjs');
+ </script></div></div><div class="banner"><iframe src="http://www.apache.org/ads/bannerbar.html" style="border-width:0;" frameborder="0" scrolling="no"></iframe><div class="clear"></div></div></div><div class="nav"><ul class="menu"><li><div class="menu-title">About</div><ul><li><a href="../index.html">Overview</a></li><li><a href="http://twitter.com/ApacheJMeter">JMeter on Twitter<img src="../images/twitter.png" alt="Icon for JMeter on Twitter"></a></li><li><a href="../issues.html">Issue Tracking</a></li><li><a href="http://projects.apache.org/feeds/rss/jmeter.xml">Subscribe to What's New</a></li><li><a href="http://www.apache.org/licenses/">License</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Download</div><ul><li><a href="../download_jmeter.cgi">Download Releases</a></li><li><a href="../nightly.html">Developer (Nightly) Builds</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Documentation</div><ul><li><a href="../changes.html"
>Changes per version</a></li><li><a href="../usermanual/get-started.html">Get Started</a></li><li><a href="../usermanual/index.html">User Manual</a></li><li><a href="../usermanual/best-practices.html">Best Practices</a></li><li><a href="../usermanual/component_reference.html">Component Reference</a></li><li><a href="../usermanual/functions.html">Functions Reference</a></li><li><a href="../api/index.html">Javadocs</a></li><li><a href="../building.html">Building JMeter and Add-Ons</a></li><li><a href="http://wiki.apache.org/jmeter">JMeter Wiki</a></li><li><a href="http://wiki.apache.org/jmeter/JMeterFAQ">FAQ (Wiki)</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Tutorials (PDF format)</div><ul><li><a href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed Testing</a></li><li><a href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a></li><li><a href="../usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a></li><li><a href="../us
ermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log Sampler</a></li><li><a href="../extending/jmeter_tutorial.pdf">Extending JMeter</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Community</div><ul><li><a href="http://wiki.apache.org/jmeter/JMeterCommitters">Contributors</a></li><li><a href="../mail.html">Mailing Lists</a></li><li><a href="../svnindex.html">SVN Repositories</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Foundation</div><ul><li><a href="http://www.apache.org/">ASF</a></li><li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved in the ASF</a></li><li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li></ul></li></ul></div><div class="main" id="content"><ul class="pagelinks"><li><a href="functions.html">< Prev</a></li><li><a href="../index.html">Index</a></li><li><a href="hints_and_tips.html">
Next ></a></li></ul><div class="section"><h1 id="regex">20. Regular Expressions<a class="sectionlink" href="#regex" title="Link to here">¶</a></h1>
+<div class="subsection"><h2>20.1 Overview<a class="sectionlink" href="#overview" title="Link to here">¶</a></h2>
<p>
-
-JMeter includes the pattern matching software
-<a href="http://jakarta.apache.org/oro/">
-Apache Jakarta ORO
-</a>
-
-
+JMeter includes the pattern matching software <a href="http://attic.apache.org/projects/jakarta-oro.html">Apache Jakarta ORO</a>
<br>
-
-
There is some documentation for this on the Jakarta web-site, for example
-
-<a href="http://jakarta.apache.org/oro/api/org/apache/oro/text/regex/package-summary.html">
-
-a summary of the pattern matching characters
-</a>
-
-
+<a href="http://archimedes.fas.harvard.edu/scrapbook/jakarta-oro-2.0.6/docs/api/org/apache/oro/text/regex/package-summary.html">
+a summary of the pattern matching characters</a>
</p>
<p>
-
There is also documentation on an older incarnation of the product at
-
-<a href="http://www.savarese.org/oro/docs/OROMatcher/index.html">
-OROMatcher User's guide
-</a>
-, which might prove useful.
-
+<a href="http://www.savarese.org/oro/docs/OROMatcher/index.html">OROMatcher User's guide</a>, which might prove useful.
</p>
<p>
-
The pattern matching is very similar to the pattern matching in Perl.
A full installation of Perl will include plenty of documentation on regular expressions - look for perlrequick, perlretut, perlre, perlreref.
-
</p>
<p>
-
It is worth stressing the difference between "contains" and "matches", as used on the Response Assertion test element:
-
</p>
<ul>
-
-
<li>
-
"contains" means that the regular expression matched at least some part of the target,
so 'alphabet' "contains" 'ph.b.' because the regular expression matches the substring 'phabe'.
-
</li>
-
-
<li>
-
"matches" means that the regular expression matched the whole target.
So 'alphabet' is "matched" by 'al.*t'.
-
</li>
-
-
</ul>
-<p>
-In this case, it is equivalent to wrapping the regular expression in ^ and $, viz '^al.*t$'.
-
+<p>In this case, it is equivalent to wrapping the regular expression in ^ and $, viz '^al.*t$'.
</p>
-<p>
-However, this is not always the case.
+<p>However, this is not always the case.
For example, the regular expression 'alp|.lp.*' is "contained" in 'alphabet', but does not match 'alphabet'.
-
</p>
-<p>
-Why? Because when the pattern matcher finds the sequence 'alp' in 'alphabet', it stops trying any other combinations - and 'alp' is not the same as 'alphabet', as it does not include 'habet'.
-
+<p>Why? Because when the pattern matcher finds the sequence 'alp' in 'alphabet', it stops trying any other combinations - and 'alp' is not the same as 'alphabet', as it does not include 'habet'.
</p>
<p>
-
Note: unlike Perl, there is no need to (i.e. do not) enclose the regular expression in //.
-
</p>
<p>
-
So how does one use the modifiers ismx etc if there is no trailing /?
-The solution is to use
-<i>
-extended regular expressions
-</i>
-, i.e. /abc/i becomes (?i)abc.
-See also
-<a href="#placement">
-Placement of modifiers
-</a>
- below.
-
+The solution is to use <i>extended regular expressions</i>, i.e. /abc/i becomes (?i)abc.
+See also <a href="#placement">Placement of modifiers</a> below.
</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="examples"><strong>20.2 Examples</strong></a>
-<a class="sectionlink" href="#examples" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<h3>
-Extract single string
-</h3>
+</div>
+<div class="subsection"><h2>20.2 Examples<a class="sectionlink" href="#examples" title="Link to here">¶</a></h2>
+<h3>Extract single string</h3>
<p>
-
Suppose you want to match the following portion of a web-page:
-
<br>
-
-
-
-<code>
-name="file" value="readme.txt">
-</code>
-
-
+<span class="code">name="file" value="readme.txt"></span>
<br>
-
-
-and you want to extract
-<code>
-readme.txt
-</code>
-.
-
+and you want to extract <span class="code">readme.txt</span>.
<br>
-
-
A suitable regular expression would be:
-
<br>
-
-
-
-<code>
-name="file" value="(.+?)">
-</code>
-
-
+<span class="code">name="file" value="(.+?)"></span>
<p>
-
The special characters above are:
-
</p>
-
-
<ul>
-
-
-<li>
-( and ) - these enclose the portion of the match string to be returned
-</li>
-
-
-<li>
-. - match any character
-</li>
-
-
-<li>
-+ - one or more times
-</li>
-
-
-<li>
-? - don't be greedy, i.e. stop when first match succeeds
-</li>
-
-
+<li>( and ) - these enclose the portion of the match string to be returned</li>
+<li>. - match any character</li>
+<li>+ - one or more times</li>
+<li>? - don't be greedy, i.e. stop when first match succeeds</li>
</ul>
-
-
<p>
-
-Note: without the ?, the .+ would continue past the first
-<code>
-">
-</code>
-
-until it found the last possible
-<code>
-">
-</code>
- - which is probably not what was intended.
-
+Note: without the ?, the .+ would continue past the first <span class="code">"></span>
+until it found the last possible <span class="code">"></span> - which is probably not what was intended.
</p>
-
-
<p>
-
Note: although the above expression works, it's more efficient to use the following expression:
-
<br>
-
-
-
-<code>
-name="file" value="([^"]+)">
-</code>
-
-where
+<span class="code">name="file" value="([^"]+)"></span>
+where<br>
+[^"] - means match anything except "<br>
+In this case, the matching engine can stop looking as soon as it sees the first <span class="code">"</span>,
+whereas in the previous case the engine has to check that it has found <span class="code">"></span> rather than say <span class="code">" ></span>.
+</p>
+<h3>Extract multiple strings</h3>
+<p>
+Suppose you want to match the following portion of a web-page:<br>
+<span class="code">name="file.name" value="readme.txt"</span>
+and you want to extract both <span class="code">file.name</span> and <span class="code">readme.txt</span>.
<br>
-
-
-[^"] - means match anything except "
-<br>
-
-
-In this case, the matching engine can stop looking as soon as it sees the first
-<code>
-"
-</code>
-,
-whereas in the previous case the engine has to check that it has found
-<code>
-">
-</code>
- rather than say
-<code>
-" >
-</code>
-.
-
-</p>
-
-
-<h3>
-Extract multiple strings
-</h3>
-
-
-<p>
-
-Suppose you want to match the following portion of a web-page:
-<br>
-
-
-
-<code>
-name="file.name" value="readme.txt"
-</code>
-
-and you want to extract both
-<code>
-file.name
-</code>
- and
-<code>
-readme.txt
-</code>
-.
-
-<br>
-
-
A suitable reqular expression would be:
-
<br>
-
-
-
-<code>
-name="([^"]+)" value="([^"]+)"
-</code>
-
-
+<span class="code">name="([^"]+)" value="([^"]+)"</span>
<br>
-
-
This would create 2 groups, which could be used in the JMeter Regular Expression Extractor template as $1$ and $2$.
-
</p>
-
-
<p>
-
The JMeter Regex Extractor saves the values of the groups in additional variables.
-
</p>
-
-
<p>
-
For example, assume:
-
</p>
-
-
<ul>
-
-
-<li>
-Reference Name: MYREF
-</li>
-
-
-<li>
-Regex: name="(.+?)" value="(.+?)"
-</li>
-
-
-<li>
-Template: $1$$2$
-</li>
-
-
+<li>Reference Name: MYREF</li>
+<li>Regex: name="(.+?)" value="(.+?)"</li>
+<li>Template: $1$$2$</li>
</ul>
-
-
+<div class="clear"></div><div class="note">Do not enclose the regular expression in / /</div><div class="clear"></div>
<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
-<tr><td>Do not enclose the regular expression in / /
-</td></tr>
-</table>
-</p>
-
-
-<p>
-
The following variables would be set:
-
</p>
-
-
<ul>
-
-
-<li>
-MYREF: file.namereadme.txt
-</li>
-
-
-<li>
-MYREF_g0: name="file.name" value="readme.txt"
-</li>
-
-
-<li>
-MYREF_g1: file.name
-</li>
-
-
-<li>
-MYREF_g2: readme.txt
-</li>
-
-
+<li>MYREF: file.namereadme.txt</li>
+<li>MYREF_g0: name="file.name" value="readme.txt"</li>
+<li>MYREF_g1: file.name</li>
+<li>MYREF_g2: readme.txt</li>
</ul>
-
These variables can be referred to later on in the JMeter test plan, as ${MYREF}, ${MYREF_g1} etc
-
</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="line_mode"><strong>20.3 Line mode</strong></a>
-<a class="sectionlink" href="#line_mode" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-The pattern matching behaves in various slightly different ways,
+</div>
+<div class="subsection"><h2>20.3 Line mode<a class="sectionlink" href="#line_mode" title="Link to here">¶</a></h2>
+<p>The pattern matching behaves in various slightly different ways,
depending on the setting of the multi-line and single-line modifiers.
Note that the single-line and multi-line operators have nothing to do with each other;
they can be specified independently.
-
</p>
-<h3>
-Single-line mode
-</h3>
+<h3>Single-line mode</h3>
<p>
-
Single-line mode only affects how the '.' meta-character is interpreted.
-
</p>
<p>
-
Default behaviour is that '.' matches any character except newline.
In single-line mode, '.' also matches newline.
-
</p>
-<h3>
-Multi-line mode
-</h3>
-<p>
+<h3>Multi-line mode</h3>
+<p>
Multi-line mode only affects how the meta-characters '^' and '$' are interpreted.
-
</p>
<p>
-
Default behaviour is that '^' and '$' only match at the very beginning and end of the string.
When Multi-line mode is used, the '^' metacharacter matches at the beginning of every line,
-and the '$' metacharacter matches at the end of every line.
-</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="meta_chars"><strong>20.4 Meta characters</strong></a>
-<a class="sectionlink" href="#meta_chars" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
+and the '$' metacharacter matches at the end of every line.</p>
+</div>
+
+<div class="subsection"><h2>20.4 Meta characters<a class="sectionlink" href="#meta_chars" title="Link to here">¶</a></h2>
+<p>
Regular expressions use certain characters as meta characters - these characters have a special meaning to the RE engine.
Such characters must be escaped by preceeding them with \ (backslash) in order to treat them as ordinary characters.
Here is a list of the meta characters and their meaning (please check the ORO documentation if in doubt).
-
</p>
<ul>
-
-
-<li>
-( ) - grouping
-</li>
-
-
-<li>
-[ ] - character classes
-</li>
-
-
-<li>
-{ } - repetition
-</li>
-
-
-<li>
-* + ? - repetition
-</li>
-
-
-<li>
-. - wild-card character
-</li>
-
-
-<li>
-\ - escape character
-</li>
-
-
-<li>
-| - alternatives
-</li>
-
-
-<li>
-^ $ - start and end of string or line
-</li>
-
-
+<li>( ) - grouping</li>
+<li>[ ] - character classes</li>
+<li>{ } - repetition</li>
+<li>* + ? - repetition</li>
+<li>. - wild-card character</li>
+<li>\ - escape character</li>
+<li>| - alternatives</li>
+<li>^ $ - start and end of string or line</li>
</ul>
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
-<tr><td>
-
-<p>
-Please note that ORO does not support the \Q and \E meta-characters.
+<div class="clear"></div><div class="note">
+<p>Please note that ORO does not support the \Q and \E meta-characters.
[In other RE engines, these can be used to quote a portion of an RE so that the meta-characters stand for themselves.]
-You can use function to do the equivalent, see
-<a href="functions.html#__escapeOroRegexpChars">
-${__escapeOroRegexpChars(valueToEscape)}
-</a>
-.
-
-</p>
-
-
-</td></tr>
-</table>
+You can use function to do the equivalent, see <a href="functions.html#__escapeOroRegexpChars">${__escapeOroRegexpChars(valueToEscape)}</a>.
</p>
+</div><div class="clear"></div>
<p>
-
The following Perl5 extended regular expressions are supported by ORO.
-
<dl>
-
-
-<dt>
-(?#text)
-</dt>
-
-
-<dd>
-An embedded comment causing text to be ignored.
-</dd>
-
-
-<dt>
-(?:regexp)
-</dt>
-
-
-<dd>
-Groups things like "()" but doesn't cause the group match to be saved.
-</dd>
-
-
-<dt>
-(?=regexp)
-</dt>
-
-
-<dd>
-A zero-width positive lookahead assertion. For example, \w+(?=\s) matches a word followed by whitespace, without including whitespace in the MatchResult.
-</dd>
-
-
-<dt>
-(?!regexp)
-</dt>
-
-
-<dd>
-A zero-width negative lookahead assertion. For example foo(?!bar) matches any occurrence of "foo" that isn't followed by "bar". Remember that this is a zero-width assertion, which means that a(?!b)d will match ad because a is followed by a character that is not b (the d) and a d follows the zero-width assertion.
-</dd>
-
-
-<dt>
-(?imsx)
-</dt>
-
-
-<dd>
-One or more embedded pattern-match modifiers. i enables case insensitivity, m enables multiline treatment of the input, s enables single line treatment of the input, and x enables extended whitespace comments.
-</dd>
-
-
+<dt>(?#text)</dt>
+<dd>An embedded comment causing text to be ignored.</dd>
+<dt>(?:regexp)</dt>
+<dd>Groups things like "()" but doesn't cause the group match to be saved.</dd>
+<dt>(?=regexp)</dt>
+<dd>A zero-width positive lookahead assertion. For example, \w+(?=\s) matches a word followed by whitespace, without including whitespace in the MatchResult.</dd>
+<dt>(?!regexp)</dt>
+<dd>A zero-width negative lookahead assertion. For example foo(?!bar) matches any occurrence of "foo" that isn't followed by "bar". Remember that this is a zero-width assertion, which means that a(?!b)d will match ad because a is followed by a character that is not b (the d) and a d follows the zero-width assertion.</dd>
+<dt>(?imsx)</dt>
+<dd>One or more embedded pattern-match modifiers. i enables case insensitivity, m enables multiline treatment of the input, s enables single line treatment of the input, and x enables extended whitespace comments.</dd>
</dl>
+<b>Note that <span class="code">(?<=regexp)</span> - lookbehind - is not supported.</b>
+</p>
+</div>
-<b>
-Note that
-<code>
-(?<=regexp)
-</code>
- - lookbehind - is not supported.
-</b>
-
-
-</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="placement"><strong>20.5 Placement of modifiers</strong></a>
-<a class="sectionlink" href="#placement" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
+<div class="subsection"><h2>20.5 Placement of modifiers<a class="sectionlink" href="#placement" title="Link to here">¶</a></h2>
<p>
-
Modifiers can be placed anywhere in the regex, and apply from that point onwards.
[A bug in ORO means that they cannot be used at the very end of the regex.
However they would have no effect there anyway.]
-
</p>
<p>
-
The single-line (?s) and multi-line (?m) modifiers are normally placed at the start of the regex.
-
</p>
<p>
-
The ignore-case modifier (?i) may be usefully applied to just part of a regex,
for example:
-
<pre>
-
Match ExAct case or (?i)ArBiTrARY(?-i) case
-
</pre>
-
-
</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-</blockquote>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#525D76">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="testing_expressions"><strong>20.6 Testing Regular Expressions</strong></a><a class="sectionlink" href="#testing_expressions" title="Link to here">¶</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
+</div>
+</div><div class="section"><h1 id="testing_expressions">20.6 Testing Regular Expressions<a class="sectionlink" href="#testing_expressions" title="Link to here">¶</a></h1>
<p>
-
-Since JMeter 2.4, the listener
-<a href="component_reference.html#View_Results_Tree">
-View Results Tree
-</a>
-
+Since JMeter 2.4, the listener <a href="component_reference.html#View_Results_Tree">View Results Tree</a>
include a RegExp Tester to test regular expressions directly on sampler response data.
-
</p>
<p>
-
-There is a
-<a href="http://jakarta.apache.org/oro/demo.html">
-demo
-</a>
- applet for Apache JMeter ORO.
-
+There is a <a href="http://www.regexplanet.com/advanced/java/index.html">Website</a> to test Java Regular expressions.
</p>
<p>
-
Another approach is to use a simple test plan to test the regular expressions.
The Java Request sampler can be used to generate a sample, or the HTTP Sampler can be used to load a file.
Add a Debug Sampler and a Tree View Listener and changes to the regular expression can be tested quickly,
without needing to access any external servers.
-
</p>
-</blockquote>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<br>
-<table>
-<tr>
-<td bgcolor="#525D76">
-<div align="right"><a href="index.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Index</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="hints_and_tips.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Next</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="functions.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Prev</font></a></div>
-</td>
-</tr>
-</table>
-</td>
-</tr>
-<tr><td colspan="2">
-<hr noshade size="1"/>
-</td></tr>
-<tr><td colspan="2">
-<div align="center"><font color="#525D76" size="-1"><em>
-Copyright © 1999-2015, Apache Software Foundation
-</em></font></div>
-</td></tr>
-<tr><td colspan="2">
-<div align="center"><font color="#525D76" size="-1">
-Apache, Apache JMeter, JMeter, the Apache feather, and the Apache JMeter logo are
-trademarks of the Apache Software Foundation.
-</font>
-</div>
-</td></tr>
-</table>
-</body>
-</html>
-<!-- end the processing -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+</div><ul class="pagelinks"><li><a href="functions.html">< Prev</a></li><li><a href="../index.html">Index</a></li><li><a href="hints_and_tips.html">Next ></a></li></ul></div><div class="footer"><div class="copyright">
+ Copyright ©
+ 1999 –
+ 2015
+ , Apache Software Foundation
+ </div><div class="trademarks">Apache, Apache JMeter, JMeter, the Apache
+ feather, and the Apache JMeter logo are
+ trademarks of the
+ Apache Software Foundation.
+ </div></div></body></html>
\ No newline at end of file