<?xml version="1.0"?>
<!--
  ~ 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.
  -->

<!DOCTYPE document
[
<!ENTITY sect-num '19'>
<!ENTITY command  "&#x02318;" >
<!ENTITY hellip   "&#x02026;" >
<!ENTITY le       "&#x02264;" >
<!ENTITY ge       "&#x02265;" >
]>
<document index="yes" index-level-2="yes" index-numbers="no" colbreak="&sect-num;.21"
  next="functions.html"
  prev="component_reference.html"  id="$Id: property_reference.xml 1739440 2016-04-16 11:11:17Z pmouawad $">

<properties>
  <title>User's Manual: Properties Reference</title>
</properties>

<body>

<!--
    Because this is an XML document, all tags must be properly closed, including ones
    which are passed unchanged into the HTML output, e.g. <br/>, not just <br>.

    Unfortunately Java does not currently allow for this - it outputs the trailing > -
    which messes up the Help display.
    To avoid these artifacts, use the form <br></br>, which Java does seem to handle OK.

 -->
<section name="&sect-num; Introduction" anchor="introduction">
<description>
<p>
This document describes JMeter properties. The properties present in <code>jmeter.properties</code> or <code>reportgenerator.properties</code> should be set in the <code>user.properties</code> file.
These properties are only taken into account after restarting JMeter as they are usually resolved when the class is loaded.
</p>
</description>
</section>
<section name="&sect-num;.1 Language" anchor="language">
<properties>
<property name="language">
    Preferred GUI language. Comment out to use the JVM default locale's language.<br/>
    Example: <source>language=en</source>
    <note>This property is the only one that must be set in <code>jmeter.properties</code> file</note>
    <note>To fully configure language ensure you set locale, see <a href="http://www.oracle.com/us/technologies/java/locale-140624.html">Internationalization: Understanding Locale in the Java Platform</a>.
    Example for English:
    <source>-Duser.language=en -Duser.region=EN</source>
    </note>
</property>
<property name="locales.add">
    Additional locale(s) to add to the displayed list.<br/>
    The current default list is: <code>en</code>, <code>fr</code>,
    <code>de</code>, <code>no</code>, <code>es</code>, <code>tr</code>,
    <code>ja</code>, <code>zh_CN</code>,
    <code>zh_TW</code>, <code>pl</code>, <code>pt_BR</code>.<br/>
    See <code>JMeterMenuBar#makeLanguageMenu()</code><br/>
    The entries are a comma-separated list of language names.<br/>
    Example: <source>locales.add=zu</source>
</property>
</properties>
</section>
<section name="&sect-num;.2 XML Parser" anchor="xml_parser">
<properties>
<property name="xpath.namespace.config">
    Path to a Properties file containing Namespace mapping in the form <code>prefix=Namespace</code>.
    Example: <source>ns=http://biz.aol.com/schema/2006-12-18</source></property>
<property name="xpath2query.parser.cache.size">XPath2 query cache for storing compiled XPath queries
    Defaults to <code>400</code>
    </property>
</properties>
</section>
<section name="&sect-num;.3 SSL configuration" anchor="ssl_config">
<note>SSL (Java) System properties are now in <code>system.properties</code><br/>
JMeter no longer converts <code>javax.<em>xxx</em></code> property entries in
<code>jmeter.properties</code> into System properties. These must now be
defined in the <code>system.properties</code> file or on the command-line. The
<code>system.properties</code> file gives more flexibility.</note>
<properties>
<property name="https.sessioncontext.shared">
    By default, SSL session contexts are now created per-thread, rather than being shared.<br/>
    The old behaviour can be enabled by setting this property to <code>true</code>. Defaults to: <code>false</code>
</property>
<property name="https.default.protocol">
    Be aware that https default protocol may vary depending on the version of JVM.
    See <a href="https://blogs.oracle.com/java-platform-group/entry/diagnosing_tls_ssl_and_https" target="_blank">Diagnosing TLS, SSL and HTTPS</a>
    and <bugzilla>58236</bugzilla>.
    Default HTTPS protocol level: <source>https.default.protocol=TLS</source>
    This may need to be changed to: <source>https.default.protocol=SSLv3</source>
</property>
<property name="https.socket.protocols">
    List of protocols to enable. You may have to select only a subset if you find issues with target server.<br/>
    This is needed when server does not support Socket version negotiation, this can lead to errors like:
    <code>javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated</code>
    or <code>java.net.SocketException: Connection reset</code>.<br/>
    See <bugzilla>54759</bugzilla>, example: <source>https.socket.protocols=SSLv2Hello SSLv3 TLSv1</source>
</property>
<property name="https.cipherSuites">
    Comma-separated list of SSL cipher suites that may be used in HTTPS
    connections.  It may be desirable to use a subset of cipher suites in order
    to match expected client behavior or to reduce encryption overhead in
    JMeter when running with large numbers of users. Errors may occur if the
    JVM does not support the specified cipher suites, or if the cipher suites
    supported by the HTTPS server do not overlap this list.  See the
    <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#Customization">JSSE
    Reference Guide.</a><br/>
    For example: <source>https.cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256</source>
    If not specified, JMeter will use the default list of cipher suites
    supported by the JVM.
</property>
<property name="httpclient.reset_state_on_thread_group_iteration">
Reset HTTP State when starting a new Thread Group iteration.
In summary<code>true</code> means next iteration is associated to a new user.
<code>false</code> means next iteration is associated to same user.
<code>true</code> involves:
 <ul>
    <li>Closing opened connection</li>
    <li>resetting SSL State</li>
</ul>
Defaults to: <code>true</code>
</property>
<property name="https.use.cached.ssl.context">
    Control if we allow reuse of cached SSL context between iterations.<br/>
    Set the value to <code>false</code> to reset the SSL context each iteration.<br/>
    Defaults to: <code>true</code>
    <note>DEPRECATED, you should use <code>httpclient.reset_state_on_thread_group_iteration</code> with correct value</note>
</property>
<property name="https.keyStoreStartIndex">
    Start index to be used with keystores with many entries.<br/>
    The default is to use entry <code>0</code>, i.e. the first.<br/>
    Defaults to: <code>0</code>
</property>
<property name="https.keyStoreEndIndex">
    End index to be used with keystores with many entries.<br/>
    Defaults to: <code>0</code>
</property>
</properties>
</section>
<section name="&sect-num;.4 Look and Feel configuration" anchor="laf_config">
<properties>
<property name="jmeter.laf.windows_10">
    Classname of the Swing default UI<br/>
    The LAF classnames that are available are now displayed as ToolTip text when hovering over
    the Options/Look and Feel selection list.<br/>
    You can either use a full class name, as shown below, or one of the strings "<code>System</code>"
    or "<code>CrossPlatform</code>" which means JMeter will use the
    corresponding string returned by <code>UIManager.get&lt;name&gt;LookAndFeelClassName()</code>.<br/>
    LAF can be overridden by <code>os.name</code> (lowercased, spaces replaced by '_').<br/>
    <example title="Order of LAF property lookup" anchor="order-laf-lookup">
        Take for example an <code>os.name</code> of <code>Windows 10</code>.<br/>
        JMeter would look first for a property
        <source>jmeter.laf.windows_10=javax.swing.plaf.metal.MetalLookAndFeel</source>
        Failing that, the OS family <code>os.name</code> would be used shortened to the first space. In our example
        JMeter would therefore look for a property
        <source>jmeter.laf.windows=com.sun.java.swing.plaf.windows.WindowsLookAndFeel</source>
    </example>
    <note>
        Mac apparently looks better with the System LAF set through
        <source>jmeter.laf.mac=System</source>
        Failing that, the JMeter default LAF can be defined through:
        <source>jmeter.laf=System</source>
        If none of the above <code>jmeter.laf</code> properties are defined, JMeter uses the <code>CrossPlatform</code> LAF.
        This is because the <code>CrossPlatform</code> LAF generally looks better than the <code>System</code> LAF.
        See <bugzilla>52026</bugzilla> for details.
    </note>
    <note>When you change Look and Feel (LAF) from JMeter GUI through menu Options &gt; Look and Feel,
    you should restart JMeter to ensure change is fully effective.</note>
 </property>
<property name="jmeter.loggerpanel.display">
    Display LoggerPanel.<br/>
    Defaults to: <code>false</code></property>
<property name="jmeter.loggerpanel.enable_when_closed">
    Enable LogViewer Panel to receive log event even when closed.<br/>
    Enabled since 2.12<br/>
    <note>Note this has some impact on performances, but as GUI mode must not be used for Load Test it is acceptable</note>
    Defaults to: <code>true</code></property>
<property name="jmeter.loggerpanel.maxlength">
     Max lines kept in LoggerPanel, <code>0</code> means no limit.<br/>
     Defaults to: <code>1000</code></property>
<property name="jmeter.gui.refresh_period">
    Interval period in <code>ms</code> to process the events of the listeners.<br/>
    Defaults to: <code>500</code></property>
</properties>
</section>
<section name="&sect-num;.4.1 Darklaf configuration" anchor="darklaf_config">
<properties>
    <property name="darklaf.decorations">
        Enables custom window chrome when using a Darklaf Look And Feel.
        Defaults to: <code>false</code></property>
    <property name="darklaf.unifiedMenuBar">
        Enables the unified menubar on Windows when using a Darklaf Look and Feel.<br/>
        This property only has an effect if <code>darklaf.native</code> is <code>true</code>.
        Defaults to: <code>true</code></property>
</properties>
</section>
<section name="&sect-num;.5 Toolbar display" anchor="toolbar_display">
<properties>
<property name="jmeter.toolbar.icons">
    Toolbar icon definitions.<br/>
    Defaults to <code>org/apache/jmeter/images/toolbar/icons-toolbar.properties</code>
</property>
<property name="jmeter.toolbar">
    Toolbar list.<br/>
    Defaults to:
    <source>new,open,close,save,save_as_testplan,|,cut,copy,paste,|,expand,collapse,toggle,|,test_start,test_stop,test_shutdown,|,test_start_remote_all,test_stop_remote_all,test_shutdown_remote_all,|,test_clear,test_clear_all,|,search,search_reset,|,function_helper,help</source>
</property>
<property name="jmeter.toolbar.icons.size">
    Available sizes are: <code>22x22</code>, <code>32x32</code>, <code>48x48</code>. Suggested value for HiDPI mode is
    <source>jmeter.toolbar.icons.size=48x48</source>
    Defaults to: <code>22x22</code>
</property>
<property name="jmeter.icons">
    Icon definitions. Alternate set:
    <source>jmeter.icons=org/apache/jmeter/images/icon_1.properties</source>
    Historical icon set (deprecated):
    <source>jmeter.icons=org/apache/jmeter/images/icon_old.properties</source>
    Defaults to:<code>org/apache/jmeter/images/icon.properties</code>
</property>
<property name="jmeter.tree.icons.size">
    Available sizes are: <code>19x19</code>, <code>24x24</code>, <code>32x32</code>, <code>48x48</code>.
    Useful for HiDPI display (see below).<br/>
    Defaults to: <code>19x19</code><br/>
    Suggested value for HiDPI screen like 3200x1800 is: <code>32x32</code>
</property>
<property name="jmeter.hidpi.mode">
    HiDPI mode. Activate a '<em>pseudo</em>'-HiDPI mode. Allows to increase size of some UI
    elements which are not correctly managed by JVM with high resolution screens in Linux or Windows.<br/>
    Defaults to: <code>false</code></property>
<property name="jmeter.hidpi.scale.factor">
    HiDPI scale factor. Suggested value for HiDPI: <code>2.0</code>.
    Defaults to: <code>1.0</code>
</property>
<property name="not_in_menu">
    Components to not display in JMeter GUI (GUI class name or static label).<br/>
    These elements are deprecated and will be removed in next version:
    <source>MongoDB Script, MongoDB Source Config</source>
    Defaults to:
    <source>org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler, org.apache.jmeter.protocol.mongodb.config.MongoSourceElement</source>
</property>
<property name="undo.history.size">
    Number of items in undo history.<br/>
    Feature is disabled by default (<code>0</code>) due to known and not fixed bugs
    <bugzilla>57043</bugzilla>, <bugzilla>57039</bugzilla> and <bugzilla>57040</bugzilla>.
    Set it to a number greater than zero (<code>25</code> can be a good default).<br/>
    The bigger it is, the more memory will be consumed.
    Defaults to: <code>0</code>
</property>
<property name="gui.quick_X">
    Hotkeys to add JMeter components where <code><em>X</em></code> is the shortcut key, for example:
<source>
gui.quick_0=ThreadGroupGui
gui.quick_1=HttpTestSampleGui
gui.quick_2=RegexExtractorGui
gui.quick_3=AssertionGui
gui.quick_4=ConstantTimerGui
gui.quick_5=TestActionGui
gui.quick_6=JSR223PostProcessor
gui.quick_7=JSR223PreProcessor
gui.quick_8=DebugSampler
gui.quick_9=ViewResultsFullVisualizer
</source>
    Above code will add the corresponding elements when you press
    <keycombo><keysym>Ctrl</keysym><keysym>0</keysym></keycombo> &hellip;
    <keycombo><keysym>Ctrl</keysym><keysym>9</keysym></keycombo>
    (<keycombo><keysym>&command;</keysym><keysym>0</keysym></keycombo> &hellip;
    <keycombo><keysym>&command;</keysym><keysym>9</keysym></keycombo> on Mac)
</property>
</properties>
</section>
<section name="&sect-num;.6 JMX Backup configuration" anchor="backup">
<properties>
<property name="jmeter.gui.action.save.backup_on_save">
    Enable auto backups of the <code>.jmx</code> file when a test plan is saved.<br/>
    When enabled, before the <code>.jmx</code> is saved, it will be backed up to the directory
    pointed to by the <code>jmeter.gui.action.save.backup_directory</code> property (see below).
    Backup file names are built after the jmx file being saved. For example,
    saving <code>test-plan.jmx</code> will create a <code>test-plan-000012.jmx</code> in the backup
    directory provided that the last created backup file is <code>test-plan-000011.jmx</code>.<br/>
    Default value is <code>true</code> indicating that auto backups are enabled.<br/>
    Defaults to: <code>true</code>
</property>
<property name="jmeter.gui.action.save.backup_directory">
    Set the backup directory path where JMX backups will be created upon save in the GUI.<br/>
    If not set (what it defaults to) then backup files will be created in a sub-directory of
    the JMeter base installation. If set and the directory does not exist, a corresponding directory will be created.<br/>
    Defaults to: <code>${JMETER_HOME}/backups</code>
</property>
<property name="jmeter.gui.action.save.keep_backup_max_hours">
    Set the maximum time (in hours) that backup files should be preserved since the save time.<br/>
    By default no expiration time is set which means we keep backups for ever.<br/>
    Defaults to: <code>0</code></property>
<property name="jmeter.gui.action.save.keep_backup_max_count">
    Set the maximum number of backup files that should be preserved.
    By default ten backups will be preserved.<br/>
    Setting this to zero will cause the backups to not being deleted (unless <code>keep_backup_max_hours</code>
    is set to a non zero value).<br/>
    Defaults to: <code>10</code>
</property>
<property name="save_automatically_before_run">
Enable auto saving of the .jmx file before start run a test plan<br/>
When enabled, before the run, the .jmx will be saved and also backed up to the directory pointed.<br/>
Defaults to: <code>true</code>
</property>
</properties>
</section>
<section name="&sect-num;.7 Remote hosts and RMI configuration" anchor="remote">
<properties>
<property name="remote_hosts">
    Remote Hosts - comma delimited, for example
    <source>remote_hosts=localhost:1099,localhost:2010</source>
    Defaults to: <code>127.0.0.1</code></property>
<property name="server_port">
    RMI port to be used by the server (must start <code>rmiregistry</code> with same port).
    To change the port to (say) <code>1234</code>:<br/>
    On the server(s):
    <ol>
        <li><code>set server_port=1234</code></li>
        <li>start <code>rmiregistry</code> with port <code>1234</code></li>
    </ol>
    On Windows this can be done by:
    <source>SET SERVER_PORT=1234
JMETER-SERVER</source>
    On Unix:
    <source>SERVER_PORT=1234 jmeter-server</source>
    On the Windows client:
    <source>set remote_hosts=<em>server</em>:1234</source>
    On the Unix client:
    <source>export remote_hosts=<em>server</em>:1234</source>
    Defaults to: <code>1099</code>
</property>
<property name="client.rmi.localport">
    Parameter that controls the RMI ports used by <code>RemoteSampleListenerImpl</code> and <code>RemoteThreadsListenerImpl</code> (The Controller)<br/>
    Default value is <code>0</code>, which means ports are randomly assigned.
    If this is non-zero, it will be used as the base for local port numbers for the client engine.
    At the moment JMeter will open up to three ports beginning with the port defined in this property.
    <note>You may need to open corresponding ports in the firewall on the Controller machine.</note>
    Defaults to: <code>0</code>
</property>
<property name="client.tries">
    When distributed test is starting, there may be several attempts to initialize remote engines.<br/>
    By default, only a single try is made. Increase this property to make it retry additional times.<br/>
    Defaults to: <code>1</code>
</property>
<property name="client.retries_delay">
    If initialization is retried, this property sets the delay between those attempts in milliseconds.<br/>
    Defaults to: <code>5000</code>
</property>
<property name="client.continue_on_fail">
    When all initialization tries were made, the test will fail, if any remote engines are failed.<br/>
    Set this property to <code>true</code> to ignore failed nodes and proceed with test.<br/>
    Defaults to: <code>false</code>
</property>
<property name="server.rmi.port">
    To change the default port (<code>1099</code>) used to access the server.<br/>
    Defaults to: <code>1099</code>
</property>
<property name="server.rmi.localport">
    To use a specific port for the JMeter server engine, define this property before starting the server.<br/>
    Defaults to: <code>4000</code>
</property>
<property name="server.rmi.create">
    From JMeter version 2.3.1, the JMeter server creates the RMI registry as part of the server process.<br/>
    Set this property to <code>false</code>, to stop the server creating the RMI registry.<br/>
    Defaults to: <code>true</code>
</property>
<property name="server.exitaftertest">
    From JMeter version 2.3.1, define this property to cause JMeter to exit after the first test.<br/>
    Defaults to: <code>true</code>
</property>
<property name="server.rmi.ssl.keystore.type">
    Type of keystore for RMI connection security. Possible values are dependent on the JVM in use, but commonly supported are <code>JKS</code> and <code>PKCS12</code>.
    Defaults to: <code>JKS</code>
</property>
<property name="server.rmi.ssl.keystore.file">
    Keystore file that contains private key
    Defaults to: <code>rmi_keystore.jks</code>
</property>
<property name="server.rmi.ssl.keystore.password">
    Password of Keystore
    Defaults to: <code>changeit</code>
</property>
<property name="server.rmi.ssl.keystore.alias">
    Key alias
    Defaults to: <code>rmi</code>
</property>
<property name="server.rmi.ssl.truststore.type">
    Type of truststore for RMI connection security
    Defaults to: the value of <code>server.rmi.ssl.keystore.type</code>, which is <code>JKS</code>
</property>
<property name="server.rmi.ssl.truststore.file">
    Keystore file that contains certificate
    Defaults to: the value of <code>server.rmi.ssl.keystore.file</code>, which is <code>rmi_keystore.jks</code>
</property>
<property name="server.rmi.ssl.truststore.password">
    Password of Trust store
    Defaults to: the value of <code>server.rmi.ssl.keystore.password</code>, which is <code>changeit</code>
</property>
<property name="server.rmi.ssl.disable">
    Set this to <code>true</code> if you don't want to use SSL for RMI
    Defaults to: <code>false</code>
</property>
</properties>
</section>
<section name="&sect-num;.8 Include Controller" anchor="include_controller">
<properties>
<property name="includecontroller.prefix">
    Prefix used by <code>IncludeController</code> when building file names.<br/>
    Defaults to empty value
</property>
</properties>
</section>
<section name="&sect-num;.9 HTTP Java configuration" anchor="http_java_config">
<properties>
<property name="http.java.sampler.retries">
    Number of connection retries performed by HTTP Java sampler before giving up.
    <code>0</code> means no retry since version 3.0.<br/>
    Defaults to: <code>0</code>
</property>
</properties>
</section>
<section name="&sect-num;.10 Apache HttpClient common properties" anchor="httpclient_common_properties">
<properties>
<property name="http.post_add_content_type_if_missing">
    Should JMeter add to POST request a Header <code>Content-type: application/x-www-form-urlencoded</code> if missing? <br/>
    Was true before version 4.1.<br/>
    Defaults to: <code>false</code>
</property>
<property name="httpclient.timeout">
    Set the socket timeout (or use the parameter <code>http.socket.timeout</code>) for
    AJP Sampler.<br/>
    Value is in milliseconds, <code>0</code> means no timeout.<br/>
    Defaults to: <code>0</code>
</property>
<property name="httpclient.version">
    Set the http version.<br/>
    Defaults to: <code>1.1</code> (or use the parameter <code>http.protocol.version</code>)
</property>
<property name="httpclient.socket.http.cps">
    Set characters per second to a value greater then zero to emulate slow connections.<br/>
    Defaults to: <code>0</code>
</property>
<property name="httpclient.socket.https.cps">
    Same as before but for https.
    Defaults to: <code>0</code>
</property>
<property name="httpclient.loopback">
    Enable loopback protocol.<br/>
    Defaults to: <code>true</code>
</property>
<property name="httpclient.localaddress">
    Define the local host address to be used for multi-homed hosts,
    example <source>httpclient.localaddress=1.2.3.4</source>
</property>
<property name="http.proxyUser">
    Set the user name to use with a proxy.
</property>
<property name="http.proxyPass">
    Set the password to use with a proxy.
</property>
</properties>
</section>
<section name="&sect-num;.11 Kerberos properties" anchor="kerberos">
<properties>
<property name="kerberos_jaas_application">
    AuthManager Kerberos configuration<br/>
    Name of application module used in <code>jaas.conf</code>.<br/>
    Defaults to: <code>JMeter</code>
</property>
<property name="kerberos.spnego.strip_port">
    Should port be stripped from urls before constructing SPNs for SPNEGO authentication.
    Defaults to: <code>true</code>
</property>
<property name="kerberos.spnego.use_canonical_host_name">
    Should the host name for constructing SPN be canonicalized for SPNEGO authentication.
</property>
<property name="kerberos.spnego.delegate_cred">
    Should SPNEGO authentication should use delegation of credentials.
    Defaults to: <code>false</code>
</property>
</properties>
</section>
<section name="&sect-num;.12 Apache HttpClient logging examples" anchor="httpclient_logging_examples">
<description>
    Enable header wire and context logging - Best for Debugging
    In log4j2.xml, set:
<source>
&lt;Logger name="org.apache.http" level="debug" /&gt;
&lt;Logger name="org.apache.http.wire" level="error" /&gt;
</source>
    Enable full wire and context logging
    In log4j2.xml, set:
    <source>&lt;Logger name="org.apache.http" level="debug" /&gt;</source>
    Enable context logging for connection management
    <source>&lt;Logger name="org.apache.http.impl.conn" level="debug" /&gt;</source>
    Enable context logging for connection management / request execution
<source>
&lt;Logger name="org.apache.http.impl.conn" level="debug" /&gt;
&lt;Logger name="org.apache.http.impl.client" level="debug" /&gt;
&lt;Logger name="org.apache.http.client" level="debug" /&gt;
</source>
</description>
</section>
<section name="&sect-num;.13 Apache HttpComponents HTTPClient configuration (HTTPClient4)" anchor="httpclient4">
<properties>
<property name="hc.parameters.file">
    Define a properties file for overriding Apache HttpClient parameters.<br/>
    Uncomment this line if you put anything in <code>hc.parameters</code> file.<br/>
    Defaults to: <code>hc.parameters</code>
</property>
<property name="httpclient4.auth.preemptive">
    Preemptively send Authorization Header when BASIC auth is used
    Defaults to: <code>true</code>
</property>
<property name="httpclient4.retrycount">
    Number of retries to attempt.
    Retry will be done on Idempotent Http Methods by default.
    If you want to retry for all methods, see property <code>httpclient4.request_sent_retry_enabled</code>
    <br/>
    Defaults to: <code>0</code>
</property>
<property name="httpclient4.request_sent_retry_enabled">
    Set this property to <code>true</code> if it's OK to retry requests that have been sent.
    This mean that both Idempotent and non Idempotent requests will be retried.
    This should usually be false, but it can be useful when testing against some Load Balancers like Amazon ELB.<br/>
    Defaults to: <code>false</code>
</property>
<property name="httpclient4.idletimeout">
    Idle connection timeout (in milliseconds) to apply if the server does not send <code>Keep-Alive</code> timeout headers.<br/>
    Defaults to: <code>0</code> (no suggested duration for <code>Keep-Alived</code> connections)
</property>
<property name="httpclient4.validate_after_inactivity">
    Check connection if the elapsed time (in milliseconds) since the last use of the connection
    exceeds this value. Ensure this value is always lower by at least 150 ms than <code>httpclient4.time_to_live</code><br/>
    Defaults to: <code>4900</code>
</property>
<property name="httpclient4.time_to_live">
    <abbr title="time to live">TTL</abbr> (in milliseconds) represents an absolute value.
    No matter what, the connection will not be re-used beyond its TTL.<br/>
    Defaults to: <code>60000</code>
</property>
<property name="httpclient4.deflate_relax_mode">
    Ignore EOFException that some edgy application may emit to signal end of Deflated stream.<br/>
    Defaults to: <code>false</code>
</property>
<property name="httpclient4.gzip_relax_mode">
    Ignore EOFException that some edgy application may emit to signal end of GZipped stream.<br/>
    Defaults to: <code>false</code>
</property>
<property name="httpclient4.default_user_agent_disabled">
    If true, default HC4 User-Agent (Apache-HttpClient/X.Y.Z (Java/A.B.C_D)) will not be added.<br/>
    Defaults to: <code>false</code>
</property>
</properties>
</section>

<section name="&sect-num;.14 HTTP Cache Manager configuration" anchor="cache_manager">
<properties>
<property name="cacheable_methods">
    Space or comma separated list of methods that can be cached.<br/>
    Defaults to: <code>GET</code>
</property>
<property name="cache_manager.cached_resource_mode">
    <note>N.B. This property is currently a temporary solution for <bugzilla>56162</bugzilla>.</note>
    Since version 2.12, JMeter does not create anymore a Sample Result with a response
    code of <code>204</code> for a resource found in cache. This is in line with what browser do.<br/>
    You can choose between three modes:
    <dl>
        <dt><code>RETURN_NO_SAMPLE</code> (default)</dt>
        <dd>this mode returns no Sample Result. It has no additional configuration.</dd>
        <dt><code>RETURN_200_CACHE</code></dt>
        <dd>this mode will return Sample Result with response code to <code>200</code> and
        response message to "<code>(ex cache)</code>".</dd>
        <dt><code>RETURN_CUSTOM_STATUS</code></dt>
        <dd>choosing this mode, response code and message have to be set by specifying
        <code>RETURN_CUSTOM_STATUS.code</code> and <code>RETURN_CUSTOM_STATUS.message</code>.</dd>
    </dl>
    Defaults to: <code>RETURN_NO_SAMPLE</code>
</property>
<property name="RETURN_CUSTOM_STATUS.code">
    This lets you select what response code you want to return if mode <code>RETURN_CUSTOM_STATUS</code>
    is selected.<br/>
    Defaults to empty value.
</property>
<property name="RETURN_CUSTOM_STATUS.message">
    This lets you select what response message you want to return if mode <code>RETURN_CUSTOM_STATUS</code>
    is selected.<br/>
    Defaults to empty value
</property>
</properties>
</section>
<section name="&sect-num;.15 Results file configuration" anchor="results_file_config">
<properties>
<property name="jmeter.save.saveservice.output_format">
    This section helps determine how result data will be saved.<br/>
    The commented out values are the defaults.<br/>
    Legitimate values: <code>xml</code>, <code>csv</code>, <code>db</code>.<br/>
    Only <code>xml</code> and <code>csv</code> are currently supported.<br/>
    Defaults to: <code>csv</code>
</property>
<property name="jmeter.save.saveservice.assertion_results_failure_message">
    <code>true</code> when field should be saved; <code>false</code> otherwise.<br/>
    <code>assertion_results_failure_message</code> only affects CSV output.<br/>
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.assertion_results">
    Legitimate values: <code>none</code>, <code>first</code>, <code>all</code>.<br/>
    Defaults to: <code>none</code>
</property>
<property name="jmeter.save.saveservice.data_type">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.label">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.response_code">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.response_data">
    <note><code>response_data</code> is currently not supported for CSV output</note>
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.response_data.on_error">
    Save ResponseData for failed samples.
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.response_message">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.successful">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.thread_name">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.time">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.subresults">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.assertions">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.latency">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.connect_time">
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.samplerData">
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.responseHeaders">
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.requestHeaders">
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.encoding">
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.bytes">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.url">
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.filename">
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.hostname">
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.thread_counts">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.sample_count">
    Defaults to: <code>false</code>
</property>
<property name="jmeter.save.saveservice.idle_time">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.save.saveservice.timestamp_format">
    Timestamp format - this only affects CSV output files.<br/>
    Legitimate values: <code>none</code>, <code>ms</code>, or a format suitable for <code>SimpleDateFormat</code>.<br/>
    Defaults to: <code>ms</code>
</property>
<property name="jmeter.save.saveservice.timestamp_format">
    Defaults to: <code>yyyy/MM/dd HH:mm:ss.SSS</code>
</property>
<property name="jmeter.save.saveservice.default_delimiter">
    For use with Comma-separated value (CSV) files or other formats where the fields' values
    are separated by specified delimiters.<br/>
    Defaults to: <code>,</code>
    <note>For TAB, one can use <code>\t</code></note>
</property>
<property name="jmeter.save.saveservice.print_field_names">
    Only applies to CSV format files:<br/>
    Print field names as first line in CSV<br/>
    Defaults to: <code>true</code>
</property>
<property name="sample_variables">
    Optional list of JMeter variable names whose values are to be saved in the result data files.<br/>
    Use commas to separate the names.<br/>
    Defaults to: <code>SESSION_ID,REFERENCE</code>
</property>
<property name="jmeter.save.saveservice.xml_pi">
    <note>N.B. The current implementation saves the values in XML as attributes, so the names must be valid XML names.</note>
    Versions of JMeter after 2.3.2 send the variable to all servers to ensure that the correct data is available at the client.<br/>
    Optional XML processing instruction for line two of the file.<br/>
    Defaults to empty value
</property>
<property name="jmeter.save.saveservice.base_prefix">
    Prefix used to identify filenames that are relative to the current base.<br/>
    Defaults to: <code>~/</code>
</property>
<property name="jmeter.save.saveservice.autoflush">
    AutoFlush on each line written in XML or CSV output.<br/>
    Setting this to <code>true</code> will result in less test results data loss in case of a crash, but
    with impact on performances, particularly for intensive tests (low or no pauses).<br/>
    Since JMeter version 2.10, this is <code>false</code> by default.<br/>
    Defaults to: <code>false</code>
</property>
</properties>
</section>
<section name="&sect-num;.16 Settings that affect SampleResults" anchor="sample_results">
<properties>
<property name="sampleresult.timestamp.start">
    Save the start time stamp instead of the end.<br/>
    This also affects the timestamp stored in result files.<br/>
    Defaults to: <code>false</code>
</property>
<property name="sampleresult.useNanoTime">
    Whether to use <code>System.nanoTime()</code> - otherwise only use <code>System.currentTimeMillis()</code>.<br/>
    Defaults to: <code>true</code>
</property>
<property name="sampleresult.nanoThreadSleep">
    Use a background thread to calculate the nanoTime offset.<br/>
    Set this to a value less than zero to disable the background thread.<br/>
    Defaults to: <code>5000</code>
</property>
<property name="subresults.disable_renaming">
    Since version 5.0 JMeter has a new SubResult Naming Policy which numbers subresults by default<br/>
    This property if set to <code>true</code> discards renaming policy. This can be required if you're using JMeter for functional testing.<br/>
    Defaults to: <code>false</code>
</property>
</properties>
</section>
<section name="&sect-num;.17 Upgrade" anchor="upgrade">
<properties>
<property name="upgrade_properties">
    File that holds a record of name changes for backward compatibility issues.<br/>
    Defaults to: <code>/bin/upgrade.properties</code>
</property>
</properties>
</section>
<section name="&sect-num;.18 JMeter Test Script recorder configuration" anchor="test_script_recorder">
<properties>
<property name="proxy.pause">
    <note>N.B. The element was originally called the Proxy recorder, which is why the properties
    have the prefix "proxy".</note>
    If the recorder detects a gap of at least 5s (default) between HTTP requests, it assumes
    that the user has clicked a new URL. Specified in milliseconds.<br/>
    Defaults to: <code>5000</code>
</property>
<property name="proxy.number.requests">
    Add numeric suffix to Sampler names.<br/>
    defaults to: <code>true</code>
</property>
<property name="proxy.sampler_format">
    Default format string for new samplers when <code>Use format string</code> is selected
    as <code>naming scheme</code>.<br/>
    Defaults to: <code>#{counter,number,000} - #{path} (#{name})</code>
</property>
<property name="proxy.excludes.suggested">
    List of URL patterns that will be added to URL Patterns to exclude.<br/>
    Separate multiple lines with <code>;</code><br/>
    Defaults to: <code>.*\\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2)</code>
</property>
<property name="jmeter.httpsampler">
    Change the default HTTP Sampler.<br/>
    Can be one of
    <dl>
        <dt><code>HTTPSampler</code> or <code>Java</code></dt>
        <dd>Use the <code>Java</code> Sampler</dd>
        <dt><code>HTTPSampler2</code></dt>
        <dt><code>HttpClient4</code></dt>
        <dd>Use Apache HTTPClient version 4</dd>
    </dl>
    Defaults to: <code>HttpClient4</code>
</property>
<property name="jmeter.httpclient.strict_rfc2616">
    By default JMeter tries to be more lenient with <a href="http://tools.ietf.org/html/rfc2616">RFC 2616</a>
    redirects and allows relative paths.<br/>
    If you want to test strict conformance, set this value to <code>true</code>.<br/>
    When the property is <code>true</code>, JMeter follows
    <rfc link="3986#section-5.2">RFC 3986 section 5.2</rfc>.<br/>
    Defaults to: <code>false</code>
</property>
<property name="proxy.content_type_include">
    Default <code>content-type</code> include filter to use. Specified as a regex.<br/>
    Defaults to: <code>text/html|text/plain|text/xml</code>
</property>
<property name="proxy.content_type_exclude">
    Default <code>content-type</code> exclude filter to use. Specified as a regex.<br/>
    Defaults to: <code>image/.*|text/css|application/.*</code>
</property>
<property name="proxy.headers.remove">
    Default headers to remove from Header Manager elements. Specified as comma separated list<br/>
    <note>The headers <code>Cookie</code> and <code>Authorization</code> are always removed.</note>
    Defaults to: <code>If-Modified-Since,If-None-Match,Host</code>
</property>
<property name="proxy.binary.types">
    Binary <code>content-type</code> handling.<br/>
    These <code>content-types</code> will be handled by saving the request in a file.<br/>
    Defaults to: <code>application/x-amf,application/x-java-serialized-object,binary/octet-stream</code>
</property>
<property name="proxy.binary.directory">
    The files will be saved in this directory.<br/>
    Defaults to: <code>user.dir</code>
</property>
<property name="proxy.binary.filesuffix">
    The files will be created suffixed with this value.<br/>
    Defaults to: <code>.binary</code>
</property>
<property name="proxy.redirect.disabling">
    Whether to attempt disabling of samples that resulted from redirects where the
    generated samples use auto-redirection.<br/>
    Defaults to: <code>true</code>
</property>
<property name="proxy.ssl.protocol">
    SSL configuration.<br/>
    Defaults to: <code>TLS</code>
</property>
</properties>
</section>
<section name="&sect-num;.19 Test Script Recorder certificate configuration" anchor="test_script_recorder_cert">
<properties>
<property name="proxy.cert.directory">
    Defaults to: <em>JMeter <code>bin</code> directory</em>
</property>
<property name="proxy.cert.file">
    Defaults to: <code>proxyserver.jks</code>
</property>
<property name="proxy.cert.type">
    Defaults to: <code>JKS</code>
</property>
<property name="proxy.cert.keystorepass">
    Defaults to: <code>password</code>
</property>
<property name="proxy.cert.keypassword">
    Defaults to: <code>password</code>
</property>
<property name="proxy.cert.factory">
    Defaults to: <code>SunX509</code>
</property>
<property name="proxy.cert.alias">
    Define this property if you wish to use a special entry from the keystore.<br/>
    Defaults to empty value
</property>
<property name="proxy.cert.validity">
    The default validity (in days) for certificates created by JMeter.<br/>
    Defaults to: <code>7</code>
</property>
<property name="proxy.cert.dynamic_keys">
    Use dynamic key generation (if supported by JMeter/JVM).<br/>
    If <code>false</code>, will revert to using a single key with no certificate.<br/>
    Defaults to: <code>true</code>
</property>
</properties>
</section>
<section name="&sect-num;.20 JMeter Proxy configuration" anchor="proxy_config">
<properties>
<property name="http.proxyDomain">
    Use command-line flags for user-name and password.<br/>
    Defaults to: NTLM domain, if required by HTTPClient sampler
</property>
</properties>
</section>
<section name="&sect-num;.21 HTML Parser configuration" anchor="parser_config">
<properties>
<property name="HTTPResponse.parsers">
    Space-separated list of parser groups.<br/>
    <note>For each parser, there should be a <code><em>parser</em>.types</code> and a <code><em>parser</em>.className</code> property</note>
    Defaults to: <code>htmlParser wmlParser cssParser</code>
</property>
<property name="cssParser.className">
    CSS Parser based on ph-css.<br/>
    Defaults to: <code>org.apache.jmeter.protocol.http.parser.CssParser</code>
</property>
<property name="cssParser.types">
    Content types handled by cssParser.<br/>
    Defaults to: <code>text/css</code>
</property>
<property name="css.parser.cache.size">
    CSS parser LRU cache size. This cache stores the URLs found in a CSS to avoid continuously
    parsing the CSS. By default the cache size is 400. It can be disabled by setting its value to 0.<br/>
    Defaults to: <code>400</code>
</property>
<property name="css.parser.ignore_all_css_errors">
    Let the CSS Parser ignore all CSS errors.<br/>
    Defaults to: <code>true</code>
</property>
<property name="htmlParser.className" required="Yes">
    Define the HTML parser to be used.<br/>
    Do not comment this property.<br/>
    <dl>
        <dt><code>org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser</code></dt>
        <dd>This new parser (since 2.10) should perform better than all others. See <bugzilla>55632</bugzilla>.</dd>
        <dt><code>org.apache.jmeter.protocol.http.parser.JTidyHTMLParser</code></dt>
        <dd>Default parser before JMeter version 2.10</dd>
        <dt><code>org.apache.jmeter.protocol.http.parser.RegexpHTMLParser</code></dt>
        <dd><note>Note that Regexp extractor may detect references that have been commented out.</note>
         In many cases it will work OK, but you should be aware that it may generate additional references.</dd>
        <dt><code>org.apache.jmeter.protocol.http.parser.JsoupBasedHtmlParser</code></dt>
        <dd>This parser is based on JSoup. It should be the most accurate parser,
        but it is less performant than LagartoBasedHtmlParser</dd>
    </dl>
    Defaults to: <code>org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser</code>
</property>
<property name="htmlParser.types">
    Used by HTTPSamplerBase to associate htmlParser with content types below.<br/>
    Defaults to: <code>text/html application/xhtml+xml application/xml text/xml</code>
</property>
<property name="wmlParser.className">
    Defaults to: <code>org.apache.jmeter.protocol.http.parser.RegexpHTMLParser</code>
</property>
<property name="wmlParser.types">
    Used by HTTPSamplerBase to associate wmlParser with content types below.<br/>
    Defaults to: <code>text/vnd.wap.wml</code>
</property>
</properties>
</section>
<section name="&sect-num;.22 Remote batching configuration" anchor="remote_batching_config">
    <p>
    Configure how SampleResults are sent from server to client when using distributed testing.
    </p>
    <note>Note that the mode is currently resolved on the client, while other properties
    (e.g. <code>time_threshold</code>) are resolved on the server.</note>
    <p>
    Since JMeter version 2.9, default is <code>StrippedBatch</code>, which returns samples in
    batch mode (every 100 samples or every minute by default).<br/>
    You can set mode by configuring:
    </p>
    <source>mode=<em>one of the possible modes below</em></source>
    <note>StrippedBatch strips response data from SampleResult, so if you need the response data, change to another mode.</note>
    <p>
    Possible modes are:
    </p>
    <dl>
        <dt><code>Standard</code></dt>
        <dd>Sends SampleResult one by one</dd>
        <dt><code>Batch</code></dt>
        <dd>Accumulates SampleResults before sending them. Configured by
        properties <code>num_sample_threshold</code> and <code>time_threshold</code></dd>
        <dt><code>Statistical</code></dt>
        <dd>returns sample summary statistics. Configured by
        properties <code>key_on_threadname</code> and <code>time_threshold</code></dd>
        <dt><code>Stripped</code></dt>
        <dd>Similar to <code>Standard</code> mode but strips Response from SampleResult.
        Configured by property <code>sample_sender_strip_also_on_error</code></dd>
        <dt><code>StrippedBatch</code></dt>
        <dd>Same as <code>Batch</code> but strips Response from SampleResult.
        Configured by properties <code>num_sample_threshold</code>, <code>time_threshold</code>
        and <code>sample_sender_strip_also_on_error</code></dd>
        <dt><code>Asynch</code></dt>
        <dd>Asynchronous sender; uses a queue and background worker process to return the samples.
        Configured by property <code>asynch.batch.queue.size</code></dd>
        <dt><code>StrippedAsynch</code></dt>
        <dd>Same as <code>Asynch</code> but strips response data from SampleResult.
        Configured by properties <code>asynch.batch.queue.size</code>
        and <code>sample_sender_strip_also_on_error</code></dd>
        <dt><code>StrippedDiskStore</code></dt>
        <dd>Same as <code>DiskStore</code> but strips response data from SampleResult</dd>
        <dt>Class extending <apilink href="org/apache/jmeter/samplers/AbstractSampleSender.html"><code>AbstractSampleSender</code></apilink> (<code>org.example.load.MySampleSender</code> for example)</dt>
        <dd>A custom implementation of your choice</dd>
    </dl>
<properties>
<property name="sample_sender_client_configured">
    How is Sample sender implementations configured:<br/>
    <dl>
        <dt><code>true</code></dt><dd>(default) means client configuration will be used</dd>
        <dt><code>false</code></dt><dd>means server configuration will be used</dd>
    </dl>
    Defaults to: <code>true</code>
</property>
<property name="sample_sender_strip_also_on_error">
    By default when Stripping modes are used JMeter since version 3.1 will strip
    response even for SampleResults in error. If you want to revert to previous
    behaviour (no stripping of Responses in error) set this property to <code>false</code><br/>
    Defaults to: <code>true</code>
</property>

<property name="mode">
    Remote batching support.<br/>
    Since JMeter version 2.9, default is <code>StrippedBatch</code>, which returns samples in
    batch mode (every 100 samples or every minute by default).<br/>
    <note>Note also that StrippedBatch strips response data from SampleResult, so if you need
    the response data, change to another mode.</note>
</property>

<property name="key_on_threadname">
    Set to <code>true</code> to key statistical samples on <code>threadName</code> rather than <code>threadGroup</code>.<br/>
    Defaults to: <code>false</code>
</property>
<property name="num_sample_threshold">
    Number of SampleResults to accumulate before sending to client.<br/>
    Defaults to: <code>100</code>
</property>
<property name="time_threshold">
    Time to retain SampleResults before sending them to client.
    Value is in milliseconds.<br/>
    Defaults to: <code>60000</code>
</property>
<property name="asynch.batch.queue.size">
    Default queue size used by <code>Async</code> mode.<br/>
    Defaults to: <code>100</code>
</property>
</properties>
</section>
<section name="&sect-num;.23 JDBC Request configuration" anchor="jdbc_request">
<properties>
<property name="jdbcsampler.nullmarker">
    String used to indicate a null value.<br/>
    Defaults to: <code>]NULL[</code>
</property>
<property name="jdbcsampler.max_retain_result_size">
    Max bytes to store from a <code>CLOB</code> or <code>BLOB</code> in the sampler.<br/>
    Defaults to: <code>65536</code> (bytes)
</property>
<property name="jdbc.config.check.query">
    List of queries used to determine if the database is still responding.<br/>
    Defaults to: <source>select 1 from INFORMATION_SCHEMA.SYSTEM_USERS|select 1 from dual|select 1 from sysibm.sysdummy1|select 1|select 1 from rdb$database</source>
</property>
<property name="jdbc.config.jdbc.driver.class">
    List of JDBC driver class name<br/>
    Defaults to: <source>com.mysql.jdbc.Driver|org.postgresql.Driver|oracle.jdbc.OracleDriver|com.ingres.jdbc.IngresDriver|com.microsoft.sqlserver.jdbc.SQLServerDriver|com.microsoft.jdbc.sqlserver.SQLServerDriver|org.apache.derby.jdbc.ClientDriver|org.hsqldb.jdbc.JDBCDriver|com.ibm.db2.jcc.DB2Driver|org.apache.derby.jdbc.ClientDriver|org.h2.Driver|org.firebirdsql.jdbc.FBDriver|org.mariadb.jdbc.Driver|org.sqlite.JDBC|net.sourceforge.jtds.jdbc.Driver|com.exasol.jdbc.EXADriver</source>
</property>
</properties>
</section>
<section name="&sect-num;.24 OS Process Sampler configuration" anchor="os_sampler">
</section>
<section name="&sect-num;.25 TCP Sampler configuration" anchor="tcp_sampler">
<properties>
<property name="tcp.handler">
    The default handler class.<br/>
    Defaults to: <code>TCPClientImpl</code>
</property>
<property name="tcp.eolByte">
    Set this to a value outside the range <code>-128</code> to <code>+127</code> to skip
    <code><abbr title="end of line">eol</abbr></code> checking.<br/>
    Defaults to byte value for end of line: <code>1000</code>
</property>
<property name="tcp.charset">
    TCP Charset, used by <code>org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl</code>.<br/>
    Defaults to platforms default charset as returned by <code>Charset.defaultCharset().name()</code>
</property>
<property name="tcp.status.prefix">
    String at the beginning of the status response code.<br/>
    Defaults to: <code>Status</code></property>
<property name="tcp.status.suffix">
    String at the end of the status response code.<br/>
    defaults to: <code>.</code>
</property>
<property name="tcp.status.properties">
    Property file to convert codes to messages.<br/>
    Defaults to: <code>mytestfiles/tcpstatus.properties</code>
</property>
<property name="tcp.binarylength.prefix.length">
    The length prefix used by <code>LengthPrefixedBinaryTCPClientImpl</code> implementation (in bytes).<br/>
    Defaults to: <code>2</code></property>
</properties>
</section>
<section name="&sect-num;.26 Summariser - Generate Summary Results - configuration (mainly applies to CLI mode)" anchor="summariser">
<properties>
<property name="summariser.name">
    Comment the following property to disable the default CLI mode summariser.<br/>
    [or change the value to rename it]<br/>
    <note>Applies to CLI mode only</note>
    Defaults to: <code>summary</code>
</property>
<property name="summariser.interval">
    Interval between summaries (in seconds).<br/>
    Defaults to: <code>30</code>
</property>
<property name="summariser.log">
    Write messages to log file.<br/>
    Defaults to: <code>true</code>
</property>
<property name="summariser.out">
    Write messages to <code>System.out</code>.<br/>
    Defaults to: <code>true</code>
</property>
<property name="summariser.ignore_transaction_controller_sample_result">
    Ignore SampleResults generated by TransactionControllers.<br/>
    Defaults to: <code>true</code>
</property>
</properties>
</section>
<section name="&sect-num;.27 Aggregate Report and Aggregate Graph - configuration" anchor="aggregate_report_graph">
<properties>
<property name="aggregate_rpt_pct1">
    Percentiles to display in reports.<br/>
    Given as a float value between <code>0</code> and <code>100</code> (means percent).<br/>
    First percentile to display.<br/>
    Defaults to: <code>90</code>
</property>
<property name="aggregate_rpt_pct2">
    Second percentile to display.<br/>
    Given as a float value between <code>0</code> and <code>100</code> (means percent).<br/>
    Defaults to: <code>95</code>
</property>
<property name="aggregate_rpt_pct3">
    Second percentile to display.<br/>
    Given as a float value between <code>0</code> and <code>100</code> (means percent).<br/>
    Defaults to: <code>99</code>
</property>
</properties>
</section>
<section name="&sect-num;.28 BackendListener - configuration" anchor="backend">
<properties>
<property name="backend_graphite.send_interval">
    Send interval in seconds.<br/>
    Defaults to: <code>1</code> second
</property>
<property name="backend_influxdb.send_interval">
    Send interval in seconds.<br/>
    Defaults to: <code>5</code> seconds
</property>
<property name="backend_influxdb.connection_timeout">
    InfluxDB connection timeout.<br/>
    Defaults to: <code>1000</code> millis
</property>
<property name="backend_influxdb.socket_timeout">
    InfluxDB socket read timeout.<br/>
    Defaults to: <code>3000</code> millis
</property>
<property name="backend_influxdb.connection_request_timeout">
    InfluxDB timeout to get a connection.<br/>
    Defaults to: <code>100</code> millis
</property>
<property name="backend_metrics_window">
    Backend metrics sliding window size for <code>Percentiles</code>, <code>Min</code>
    and <code>Max</code>.<br/>
    Defaults to: <code>100</code>
</property>
<property name="backend_metrics_large_window">
    Backend metrics sliding window size  for <code>Percentiles</code>, <code>Min</code>
    and <code>Max</code>. when <code>backend_metrics_window_mode=timed</code><br/>
    Setting this value too high can lead to OOM Backend metrics sliding window size
    Defaults to: <code>5000</code>
</property>
<property name="backend_metrics_percentile_estimator">
    Specify the <a href="https://commons.apache.org/proper/commons-math/javadocs/api-3.5/org/apache/commons/math3/stat/descriptive/rank/Percentile.EstimationType.html">Percentile Estimation Type</a> to use.<br/>
    To make the values from the dashboard compatible with the Aggregate Report, use the value <code>R_3</code>.<br/>
    Defaults to: <code>LEGACY</code>
</property>
<property name="backend_metrics_window_mode">
    Backend metrics window mode.
    Possible values:
    <ul>
        <li><code>fixed</code> : fixed-size window</li>
        <li><code>timed</code> : time boxed</li>
    </ul>
    Defaults to: <code>fixed</code>
</property>
</properties>
</section>
<section name="&sect-num;.29 BeanShell configuration" anchor="beanshell">
<properties>
<property name="beanshell.server.port">
    BeanShell Server properties.<br/>
    Define the port number as non-zero to start the http server on that port.<br/>
    The telnet server will be started on the next port.<br/>
    Defaults to: <code>0</code> (i.e. don't start the server)
    <note>
    There is no security. Anyone who can connect to the port can issue any BeanShell commands.
    These can provide unrestricted access to the JMeter application and the host.
    <b>Do not enable the server unless the ports are protected against access, e.g. by a firewall.</b>
    </note>
</property>
<property name="beanshell.server.file">
    Define the server initialisation file.<br/>
    Defaults to: <code>../extras/startup.bsh</code>
</property>
<property name="beanshell.init.file">
    Define a file to be processed at startup.<br/>
    This is processed using its own interpreter.<br/>
    Defaults to empty value.
</property>
<property name="beanshell.sampler.init">
    Define the initialisation files for BeanShell Sampler, Function and
    other BeanShell elements.<br/>
    <note>N.B. Beanshell test elements do not share interpreters.
    Each element in each thread has its own interpreter.
    This is retained between samples.</note>
    Defaults to empty value.
</property>
<property name="beanshell.function.init">
    Defaults to empty value.
</property>
<property name="beanshell.assertion.init">
    Defaults to empty value.
</property>
<property name="beanshell.listener.init">
    Defaults to empty value.
</property>
<property name="beanshell.postprocessor.init">
    Defaults to empty value.
</property>
<property name="beanshell.preprocessor.init">
    Defaults to empty value.
</property>
<property name="beanshell.timer.init">
    Defaults to empty value.
</property>
</properties>
    <p>
    The file <code>BeanShellListeners.bshrc</code> contains sample definitions
    of Test and Thread Listeners.<br/>
    </p>
</section>
<section name="&sect-num;.30 MailerModel configuration" anchor="mailer">
<properties>
<property name="mailer.successlimit">
    Number of successful samples before a message is sent.<br/>
    Defaults to: <code>2</code>
</property>
<property name="mailer.failurelimit">
    Number of failed samples before a message is sent.<br/>
    Defaults to: <code>2</code>
</property>
</properties>
</section>
<section name="&sect-num;.31 CSVRead configuration" anchor="csv">
<properties>
<property name="csvread.delimiter">
    CSVRead delimiter setting (default "<code>,</code>").<br/>
    <note>Make sure that there are no trailing spaces or tabs after the delimiter
    characters, or these will be included in the list of valid delimiters.</note>
    Defaults to: <code>,</code>
</property>
</properties>
</section>
<section name="&sect-num;.32 __time() function configuration" anchor="time">
<properties>
<property name="time.YMD">
    This and the following properties can be used to redefine the default time formats.<br/>
    Defaults to: <code>yyyyMMdd</code>
</property>
<property name="time.HMS">
    Defaults to: <code>HHmmss</code>
</property>
<property name="time.YMDHMS">
    Defaults to: <code>yyyyMMdd-HHmmss</code>
</property>
<property name="time.USER1">
    Defaults to empty value
</property>
<property name="time.USER2">
    Defaults to empty value
</property>
</properties>
</section>
<section name="&sect-num;.33 CSV DataSet configuration" anchor="csv_dataset">
<properties>
<property name="csvdataset.eofstring">
    String to return at <abbr title="end of file"><code>EOF</code></abbr> (if recycle not used).<br/>
    Defaults to: <code>&lt;EOF&gt;</code>
</property>
<property name="csvdataset.file.encoding_list">
    List of file encoding values<br/>
    Defaults to: <code>platform default</code>
</property>
</properties>
</section>
<section name="&sect-num;.34 LDAP Sampler configuration" anchor="ldap">
<properties>
<property name="ldapsampler.max_sorted_results">
    Maximum number of search results returned by a search that will be sorted
    to guarantee a stable ordering (if more results then this limit are returned
    then no sorting is done).<br/>
    Set to zero to turn off all sorting, in which case "Equals" response assertions
    will be very likely to fail against search results.<br/>
    Defaults to: <code>1000</code>
</property>
<property name="assertion.equals_section_diff_len">
    Number of characters to log for each of three sections (starting matching section,
    diff section, ending matching section where not all sections will appear for all diffs)
    diff display when an Equals assertion fails. So a value of <code>100</code> means a
    maximum of <code>300</code> characters of diff text will be displayed (plus a number
    of extra characters like "<code>...</code>" and "<code>[[[</code>"/"<code>]]]</code>"
    which are used to decorate it).<br/>
    Defaults to: <code>100</code>
</property>
<property name="assertion.equals_diff_delta_start">
    Test written out to log to signify start/end of diff delta.<br/>
    Defaults to: <code>[[[</code>
</property>
<property name="assertion.equals_diff_delta_end">
    Defaults to: <code>]]]</code>
</property>
</properties>
</section>
<section name="&sect-num;.35 Miscellaneous configuration" anchor="miscellaneous">
<properties>
<property name="cssselector.parser.cache.size">
    Size of cache used by <code>CSS Selector Extractor</code> (for JODD implementation only) to store parsed CSS Selector expressions.<br/>
    Defaults to: <code>400</code>
</property>
<property name="resultcollector.action_if_file_exists">
    Used to control what happens when you start a test and have listeners that could overwrite existing result files.<br/>
    Possible values:
    <ul>
    <li><code>ASK</code> : Ask user</li>
    <li><code>APPEND</code> : Append results to existing file</li>
    <li><code>DELETE</code> : Delete existing file and start a new file</li>
    </ul>
</property>
<property name="mirror.server.port">
    If defined and greater then zero, then start the mirror server on the port.<br/>
    Defaults to: <code>0</code>
</property>
<property name="oro.patterncache.size">
    ORO PatternCacheLRU size.<br/>
    Defaults to: <code>1000</code>
</property>
<property name="propertyEditorSearchPath">
    TestBeanGui<br/>
    Defaults to: <code>null</code>
</property>
<property name="jmeter.expertMode">
    Turn expert mode on/off: expert mode will show expert-mode beans and properties.<br/>
    Defaults to: <code>true</code>
</property>
<property name="httpsampler.max_bytes_to_store_per_request">
    Max size of bytes stored in memory per <code>SampleResult</code>. Ensure that you
    don't exceed the maximum capacity of a Java Array and remember that the higher you
    set this value, the more memory JMeter will consume.<br/>
    Defaults to: <code>0</code> bytes which means no truncation will occur
</property>
<property name="httpsampler.max_buffer_size">
    Max size of buffer in bytes used when reading responses.<br/>
    Defaults to: <code>66560</code> bytes
</property>
<property name="httpsampler.max_redirects">
    Maximum redirects to follow in a single sequence.<br/>
    Defaults to: <code>20</code>
</property>
<property name="httpsampler.max_frame_depth">
    Maximum frame/iframe nesting depth.<br/>
    defaults to: <code>5</code>
</property>
<property name="httpsampler.separate.container">
    Revert to <bugzilla>51939</bugzilla> behaviour (no separate container for embedded resources)
    by setting the following <code>false</code>.<br/>
    defaults to: <code>true</code>
</property>
<property name="httpsampler.ignore_failed_embedded_resources">
    If embedded resources download fails due to missing resources or other reasons,
    if this property is <code>true</code>, Parent sample will not be marked as failed.<br/>
    Defaults to: <code>false</code>
</property>
<property name="httpsampler.parallel_download_thread_keepalive_inseconds">
    Keep-alive time for the parallel download threads (in seconds).<br/>
    Defaults to: <code>60</code>
</property>
<property name="httpsampler.embedded_resources_use_md5">
    Don't keep the embedded resources response data; just keep the size and the MD5 sum.<br/>
    Defaults to: <code>false</code>
</property>
<property name="httpsampler.user_defined_methods">
    List of extra HTTP methods that should be available in select box.<br/>
    Defaults to:
    <source>VERSION-CONTROL,REPORT,CHECKOUT,CHECKIN,UNCHECKOUT,MKWORKSPACE,UPDATE,LABEL,MERGE,BASELINE-CONTROL,MKACTIVITY</source>
</property>
<property name="sampleresult.default.encoding">
    The encoding to be used if none is provided.<br/>
    Defaults to: <code>ISO-8859-1</code>
</property>
<property name="CookieManager.delete_null_cookies">
    CookieManager behaviour - should cookies with null/empty values be deleted?<br/>
    Use <code>false</code> to revert to original behaviour.<br/>
    Defaults to: <code>true</code>
</property>
<property name="CookieManager.allow_variable_cookies">
    CookieManager behaviour - should variable cookies be allowed?<br/>
    Use <code>false</code> to revert to original behaviour.<br/>
    Defaults to: <code>true</code>
</property>
<property name="CookieManager.save.cookies">
    CookieManager behaviour - should Cookies be stored as variables?<br/>
    Default to: <code>false</code>
</property>
<property name="CookieManager.name.prefix">
    CookieManager behaviour - prefix to add to cookie name before storing it as a variable.<br/>
    Default is COOKIE_; to remove the prefix, define it as one or more spaces.<br/>
    Defaults to: <code>COOKIE_</code></property>
<property name="CookieManager.check.cookies">
    CookieManager behaviour - check received cookies are valid before storing them?<br/>
    Use <code>false</code> to revert to previous behaviour.<br/>
    Defaults to: <code>true</code>
</property>
<property name="cookies">
    Netscape HTTP Cookie file.<br/>
    Defaults to: <code>cookies</code>
</property>
<property name="javascript.use_rhino">
    Ability to switch to Rhino as default Javascript Engine used by <code>IfController</code>
    and <code><funclink name="__javaScript"/></code> function.<br/>
    <note>JMeter uses Nashorn since 3.2 version.
    If you want to use Rhino, set this value to <code>true</code></note>
    Defaults to: <code>false</code>
</property>
<property name="jmeter.regex.engine">
    Ability to switch out the old Oro Regex implementation with the JDK built-in implementation.
    Any value different to <code>oro</code> will disable the Oro implementation and enable the JDK based.
    <note>We intend to switch the default to the JDK based one in a later version of JMeter.</note>
    Defaults to: <code>oro</code>
</property>
<property name="jmeter.regex.patterncache.size">
    We assist the JDK based Regex implementation by caching Pattern objects. The size of the
    cache can be set with this setting. It can be disabled by setting it to <code>0</code>.
    Defaults to: <code>1000</code>
</property>
<property name="jmeterengine.threadstop.wait">
    Number of milliseconds to wait for a thread to stop.<br/>
    Defaults to: <code>5000</code>
</property>
<property name="jmeterengine.remote.system.exit">
    Whether to invoke <code>System.exit(0)</code> in server exit code after
    stopping RMI.<br/>
    Defaults to: <code>false</code>
</property>
<property name="jmeterengine.stopfail.system.exit">
    Whether to call <code>System.exit(1)</code> on failure to stop threads in CLI mode.<br/>
    This only takes effect if the test was explicitly requested to stop.<br/>
    If this is disabled, it may be necessary to kill the JVM externally.<br/>
    Defaults to: <code>true</code>
</property>
<property name="jmeterengine.force.system.exit">
    Whether to force call <code>System.exit(0)</code> at end of test in CLI mode,
    even if there were no failures and the test was not explicitly asked to stop.<br/>
    Without this, the JVM may never exit if there are other threads spawned by
    the test which never exit.<br/>
    Defaults to: <code>false</code>
</property>
<property name="jmeter.exit.check.pause">
    How long to pause (in ms) in the daemon thread before reporting that the JVM has
    failed to exit.<br/>
    If the value is less than zero, the JMeter does not start the daemon thread<br/>
    Defaults to: <code>2000</code>
</property>
<property name="jmeterengine.nongui.port">
    If running CLI mode, then JMeter listens on the following port for a shutdown message.<br/>
    To disable, set the port to <code>1000</code> or less.<br/>
    Defaults to: <code>4445</code>
</property>
<property name="jmeterengine.nongui.maxport">
    If the initial port is busy, keep trying until this port is reached
    (to disable searching, set the value less than or equal to the <code>.port</code> property).<br/>
    Defaults to: <code>4455</code>
</property>
<property name="jmeterthread.rampup.granularity">
    How often to check for shutdown during ramp-up (milliseconds).<br/>
    Defaults to: <code>1000</code>
</property>
<property name="onload.expandtree">
    Should JMeter expand the tree when loading a test plan?<br/>
    Default value is <code>false</code> since JMeter 2.7<br/>
    Defaults to: <code>false</code>
</property>
<property name="jsyntaxtextarea.wrapstyleword">
    JSyntaxTextArea configuration.<br/>
    Defaults to: <code>true</code>
</property>
<property name="jsyntaxtextarea.linewrap">
    Defaults to: <code>true</code>
</property>
<property name="jsyntaxtextarea.codefolding">
    Defaults to: <code>true</code>
</property>
<property name="jsyntaxtextarea.maxundos">
    Set to zero to disable undo feature in JSyntaxTextArea.<br/>
    Defaults to: <code>50</code>
</property>
<property name="jsyntaxtextarea.font.family">
    Change the font on the (JSyntax) Text Areas. (Useful for HiDPI screens).<br/>
    Defaults to empty value, which means platform default monospaced font
</property>
<property name="jsyntaxtextarea.font.size">
    Change the size of the (JSyntax) Text Areas. Will be used only,
    when <code>jsyntaxtextarea.font.family</code> is set.<br/>
    Defaults to: <code>-1</code></property>
<property name="loggerpanel.usejsyntaxtext">
    Set this to <code>false</code> to disable the use of JSyntaxTextArea
    for the Console Logger panel.<br/>
    Defaults to: <code>true</code>
</property>
<property name="view.results.tree.max_results">
    Maximum number of main samples, that should be stored and displayed.<br/>
    A value of <code>0</code> will store all results. This might consume a lot of memory.<br/>
    Defaults to: <code>500</code>
</property>
<property name="view.results.tree.max_size">
    Maximum size (in bytes) of HTML page that can be displayed.<br/>
    Set to zero to disable the size check and display the whole response.<br/>
    Defaults to: <code>10485760</code>
</property>
<property name="view.results.tree.max_line_size">
    Maximum size (in characters) of the line in the displayed.<br/>
    This property works around Bug 63620 since Swing hangs when displaying very long lines.<br/>
    Set to zero to disable line wrapping.<br/>
    Defaults to: <code>110000</code>
</property>
<property name="view.results.tree.soft_wrap_line_size">
    Line size (in characters) to consider wrapping to make UI faster.<br/>
    This property works around Bug 63620 since Swing hangs when displaying very long lines.<br/>
    Set to zero to disable line wrapping.<br/>
    Defaults to: <code>view.results.tree.max_line_size / 1.1f</code>
</property>
<property name="view.results.tree.renderers_order">
    Order of Renderers in View Results Tree.<br/>
    <note>Note full class names should be used for non JMeter core renderers</note>
    For JMeter core renderers, class names start with <code>.</code> and are automatically
    prefixed with <code>org.apache.jmeter.visualizers</code><br/>
    Defaults to:
    <source>.RenderAsText,.RenderAsRegexp,.RenderAsCssJQuery,.RenderAsXPath,.RenderAsHTML,.RenderAsHTMLWithEmbedded,.RenderAsDocument,.RenderAsJSON,.RenderAsXML</source>
</property>
<property name="view.results.tree.simple_view_limit">
    Configures maximum document length for text view before switching to a simpler view, that does not do line breaks.<br/>
    Works probably best, when combined with a low setting of <code>view.results.tree.max_line_size</code>.
    Can be switched off by setting the value to <code>-1</code>.<br/>
    Defaults to: <code>10000</code>
</property>
<property name="document.max_size">
    Maximum size (in bytes) of Document that can be parsed by Tika engine<br/>
    Set to zero to disable the size check.<br/>
    Defaults to: <code>10485760</code>
</property>
<property name="text.kerning.max_document_size">
    Configures the maximum document length for rendering with kerning enabled.<br/>
    Defaults to: <code>10000</code>
</property>
<property name="JMSSampler.useSecurity.properties">
    JMS options.<br/>
    Enable the following property to stop JMS Point-to-Point Sampler from using
    the properties <code>java.naming.security.[principal|credentials]</code> when
    creating the queue connection.<br/>
    Defaults to: <code>false</code>
</property>
<property name="confirm.delete.skip">
    Set the following value to <code>true</code> in order to skip the delete
    confirmation dialogue.<br/>
    Defaults to: <code>false</code>
</property>
</properties>
</section>
<section name="&sect-num;.36 Classpath configuration" anchor="classpath">
<properties>
<property name="search_paths">
    List of directories (separated by <code>;</code>) to search for additional
    JMeter plugin classes, for example new GUI elements and samplers.<br/>
    Any jar file in such a directory will be automatically included; jar files in sub directories are ignored.<br/>
    The given value is in addition to any jars found in the <code>lib/ext</code> directory.<br/>
    Do not use this for utility or plugin dependency jars.<br/>
    Defaults to empty value.
</property>
<property name="user.classpath">
    List of directories that JMeter will search for utility and plugin dependency classes.<br/>
    Use your platform path separator (<code>java.io.File.pathSeparatorChar</code> in Java) to separate multiple paths.<br/>
    Any jar file in such a directory will be automatically included; jar files in sub directories are ignored.<br/>
    The given value is in addition to any jars found in the <code>lib</code> directory.<br/>
    All entries will be added to the class path of the system class loader and also to the path
    of the JMeter internal loader.<br/>
    Paths with spaces may cause problems for the JVM.<br/>
    Defaults to empty value.
</property>
<property name="plugin_dependency_paths">
    List of directories (separated by <code>;</code>) that JMeter will search for utility
    and plugin dependency classes.<br/>
    Any jar file in such a directory will be automatically included; jar files in sub directories are ignored.<br/>
    The given value is in addition to any jars found in the <code>lib</code> directory
    or given by the <code>user.classpath</code> property.<br/>
    All entries will be added to the path of the JMeter internal loader only.<br/>
    For plugin dependencies this property should be used instead of <code>user.classpath</code>.<br/>
    Defaults to empty value.
</property>
<property name="classfinder.functions.contain">
    The classpath finder currently needs to load every single JMeter class to find the classes it needs.<br/>
    For CLI mode, it's only necessary to scan for Function classes, but all classes are still loaded.<br/>
    All current Function classes include "<code>.function.</code>" in their name, and none include
    "<code>.gui.</code>" in the name, so the number of unwanted classes loaded can be reduced by
    checking for these. However, if a valid function class name does not match these restrictions,
    it will not be loaded. If problems are encountered, then comment or change this or the following property.<br/>
    Defaults to: <code>.functions.</code>
</property>
<property name="classfinder.functions.notContain">
    Defaults to: <code>.gui.</code>
</property>
</properties>
</section>
<section name="&sect-num;.37 Reporting configuration" anchor="reporting">
<properties>
<property name="jmeter.reportgenerator.apdex_satisfied_threshold">
    Sets the satisfaction threshold for the APDEX calculation (in milliseconds).<br/>
    Defaults to: <code>500</code>
</property>
<property name="jmeter.reportgenerator.apdex_tolerated_threshold">
    Sets the tolerance threshold for the APDEX calculation (in milliseconds).<br/>
    Defaults to: <code>1500</code>
</property>
<property name="jmeter.reportgenerator.sample_filter">
    Regular Expression which Indicates which samples to keep for graphs and statistics generation.<br/>
    Empty value means no filtering<br/>
    Defaults to empty value.
</property>
<property name="jmeter.reportgenerator.temp_dir">
    Sets the temporary directory used by the generation process if it needs file I/O operations.<br/>
    Defaults to: <code>temp</code>
</property>
<property name="jmeter.reportgenerator.statistic_window">
    Sets the size of the sliding window used by percentile evaluation.<br/>
    <note>Caution: higher value provides a better accuracy but needs more memory.</note>
    Defaults to: <code>20000</code>
</property>
<property name="jmeter.reportgenerator.report_title">
    Configure this property to change the report title<br/>
    Defaults to: <code>Apache JMeter Dashboard</code>
</property>
<property name="jmeter.reportgenerator.overall_granularity">
    Defines the overall granularity for over time graphs<br/>
    Defaults to: <code>60000</code>
</property>
<property name="jmeter.reportgenerator.graph.responseTimePercentiles.classname">
    Response Time Percentiles graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.responseTimePercentiles.title">
    Defaults to: <code>Response Time Percentiles</code>
</property>
<property name="jmeter.reportgenerator.graph.responseTimeDistribution.classname">
    Response Time Distribution graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.ResponseTimeDistributionGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.responseTimeDistribution.title">
    Defaults to: <code>Response Time Distribution</code>
</property>
<property name="jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity">
    Defaults to: <code>100</code>
</property>
<property name="jmeter.reportgenerator.graph.activeThreadsOverTime.classname">
    Active Threads Over Time graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.ActiveThreadsGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.activeThreadsOverTime.title">
    Defaults to: <code>Active Threads Over Time</code>
</property>
<property name="jmeter.reportgenerator.graph.activeThreadsOverTime.property.set_granularity">
    Defaults to: <code>${jmeter.reportgenerator.overall_granularity}</code>
</property>
<property name="jmeter.reportgenerator.graph.timeVsThreads.classname">
    Time VS Threads graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.TimeVSThreadGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.timeVsThreads.title">
    Defaults to: <code>Time VS Threads</code>
</property>
<property name="jmeter.reportgenerator.graph.bytesThroughputOverTime.classname">
    Bytes Throughput Over Time graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.BytesThroughputGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.bytesThroughputOverTime.title">
    Defaults to: <code>Bytes Throughput Over Time</code>
</property>
<property name="jmeter.reportgenerator.graph.bytesThroughputOverTime.property.set_granularity">
    Defaults to: <code>${jmeter.reportgenerator.overall_granularity}</code>
</property>
<property name="jmeter.reportgenerator.graph.responseTimesOverTime.classname">
    Response Time Over Time graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.responseTimesOverTime.title">
    Defaults to: <code>Response Time Over Time</code>
</property>
<property name="jmeter.reportgenerator.graph.responseTimesOverTime.property.set_granularity">
    Defaults to: <code>${jmeter.reportgenerator.overall_granularity}</code>
</property>
<property name="jmeter.reportgenerator.graph.latenciesOverTime.classname">
    Latencies Over Time graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.latenciesOverTime.title">
    Defaults to: <code>Latencies Over Time</code>
</property>
<property name="jmeter.reportgenerator.graph.latenciesOverTime.property.set_granularity">
    Defaults to: <code>${jmeter.reportgenerator.overall_granularity}</code>
</property>
<property name="jmeter.reportgenerator.graph.responseTimeVsRequest.classname">
    Response Time Vs Request graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.ResponseTimeVSRequestGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.responseTimeVsRequest.title">
    Defaults to: <code>Response Time Vs Request</code>
</property>
<property name="jmeter.reportgenerator.graph.responseTimeVsRequest.exclude_controllers">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.reportgenerator.graph.responseTimeVsRequest.property.set_granularity">
    Defaults to: <code>${jmeter.reportgenerator.overall_granularity}</code>
</property>
<property name="jmeter.reportgenerator.graph.latencyVsRequest.classname">
    Latencies Vs Request graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.LatencyVSRequestGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.latencyVsRequest.title">
    Defaults to: <code>Latencies Vs Request</code>
</property>
<property name="jmeter.reportgenerator.graph.latencyVsRequest.exclude_controllers">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.reportgenerator.graph.latencyVsRequest.property.set_granularity">
    Defaults to: <code>${jmeter.reportgenerator.overall_granularity}</code>
</property>
<property name="jmeter.reportgenerator.graph.hitsPerSecond.classname">
    Hits Per Second graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.HitsPerSecondGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.hitsPerSecond.title">
    Defaults to: <code>Hits Per Second</code>
</property>
<property name="jmeter.reportgenerator.graph.hitsPerSecond.exclude_controllers">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.reportgenerator.graph.hitsPerSecond.property.set_granularity">
    Defaults to: <code>${jmeter.reportgenerator.overall_granularity}</code>
</property>
<property name="jmeter.reportgenerator.graph.codesPerSecond.classname">
    Codes Per Second graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.CodesPerSecondGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.codesPerSecond.title">
    Defaults to: <code>Codes Per Second</code>
</property>
<property name="jmeter.reportgenerator.graph.codesPerSecond.exclude_controllers">
    Defaults to: <code>true</code>
</property>
<property name="jmeter.reportgenerator.graph.codesPerSecond.property.set_granularity">
    Defaults to: <code>${jmeter.reportgenerator.overall_granularity}</code>
</property>
<property name="jmeter.reportgenerator.graph.transactionsPerSecond.classname">
    Transactions Per Second graph definition<br/>
    Defaults to:
    <source>org.apache.jmeter.report.processor.graph.impl.TransactionsPerSecondGraphConsumer</source>
</property>
<property name="jmeter.reportgenerator.graph.transactionsPerSecond.title">
    Defaults to: <code>Transactions Per Second</code>
</property>
<property name="jmeter.reportgenerator.graph.transactionsPerSecond.property.set_granularity">
    Defaults to: <code>${jmeter.reportgenerator.overall_granularity}</code>
</property>
<property name="jmeter.reportgenerator.exporter.html.classname">
    HTML Export<br/>
    Defaults to:
    <source>org.apache.jmeter.report.dashboard.HtmlTemplateExporter</source>
</property>
<property name="jmeter.reportgenerator.exporter.html.property.template_dir">
    Sets the source directory of templated files from which the html pages are generated.<br/>
    Defaults to: <code>report-template</code>
</property>
<property name="jmeter.reportgenerator.exporter.html.property.output_dir">
    Sets the destination directory for generated html pages.<br/>
    This will be overridden by the command line option <code>-o</code>.<br/>
    Defaults to: <code>report-output</code>
</property>
<property name="jmeter.reportgenerator.exporter.html.series_filter">
    Regular Expression which Indicates which graph series are filtered in display.<br/>
    Empty value means no filtering.<br/>
    Defaults to empty value.
</property>
<property name="jmeter.reportgenerator.exporter.html.filters_only_sample_series">
    Indicates whether series filter apply only on sample series<br/>
    Defaults to: <code>true</code>
</property>
<property name="jmeter.reportgenerator.exporter.html.show_controllers_only">
    Indicates whether only controller samples are displayed on graphs that support it.<br/>
    Defaults to: <code>false</code>
</property>
<property name="jmeter.reportgenerator.date_format">
    Date format of report using by start_date and end_date properties.<br/>
    Defaults to: <code>yyyyMMddHHmmss</code>
</property>
<property name="jmeter.reportgenerator.start_date">
    Start date of report using date_format property.<br/>
    Defaults to: nothing
</property>
<property name="jmeter.reportgenerator.end_date">
    End date of report using date_format property.<br/>
    Defaults to: nothing
</property>
<property name="generate_report_ui.generation_timeout">
    Timeout in milliseconds for Report generation when using Tools &gt; Generate HTML report.<br/>
    Defaults to: 300000
</property>
</properties>
</section>
<section name="&sect-num;.38 Additional property files to load" anchor="properties">
<properties>
<property name="user.properties">
    Should JMeter automatically load additional JMeter properties?<br/>
    File name to look for (comment to disable)<br/>
    Defaults to: <code>user.properties</code>
</property>
<property name="system.properties">
    Should JMeter automatically load additional system properties?<br/>
    File name to look for (comment to disable)<br/>
    Defaults to: <code>system.properties</code>
</property>
<property name="template.files">
    Comma separated list of files that contain reference to templates and their description.<br/>
    Path must be relative to JMeter root folder<br/>
    Defaults to: <code>/bin/templates/templates.xml</code>
</property>
</properties>
</section>
<section name="&sect-num;.39 Thread Group Validation feature" anchor="validation">
<description>Validation is the name of the feature used to rapidly validate a Thread Group runs fine</description>
<properties>
<property name="testplan_validation.tree_cloner_class">
    Default implementation is <source>org.apache.jmeter.gui.action.validation.TreeClonerForValidation</source>
    It runs validation without timers, with one thread and one iteration.<br/>
    You can implement your own policy that must extend <code>org.apache.jmeter.engine.TreeCloner</code>.<br/>
    JMeter will instantiate it and use it to create the Tree used to run validation on Thread Group.<br/>
    Defaults to:
    <source>org.apache.jmeter.gui.action.validation.TreeClonerForValidation</source>
</property>
<property name="testplan_validation.nb_threads_per_thread_group">
    Number of threads to use to validate a Thread Group.<br/>
    Defaults to: <code>1</code>
</property>
<property name="testplan_validation.ignore_timers">
    Ignore timers when validating the thread group of plan.<br/>
    Defaults to: <code>true</code>
</property>
<property name="testplan_validation.ignore_backends">
    Ignore BackendListener when validating the thread group of plan.<br/>
    Defaults to: <code>true</code>
</property>
<property name="testplan_validation.number_iterations">
    Number of iterations to use to validate a Thread Group.<br/>
    Defaults to: <code>1</code>
</property>
<property name="testplan_validation.tpc_force_100_pct">
    Force throughput controllers that work in percentage mode to be a 100%.<br/>
    Defaults to: <code>false</code>
</property>
</properties>
</section>
<section name="&sect-num;.40 Timer related feature" anchor="timer">
<description>Timer are used to introduce think time in your plan.</description>
<properties>
<property name="timer.factor">
    Apply a factor on computed pauses by the following Timers:
    <ul>
        <li>Gaussian Random Timer</li>
        <li>Uniform Random Timer</li>
        <li>Poisson Random Timer</li>
    </ul>
    Defaults to: <code>1.0f</code>
</property>
<property name="think_time_creator.impl">
    Default implementation that create the Timer structure to add to Test Plan.
    Implementation of interface <apilink href="org/apache/jmeter/gui/action/thinktime/ThinkTimeCreator.html"><code>org.apache.jmeter.gui.action.thinktime.ThinkTimeCreator</code></apilink>
    Defaults to: <apilink href="org/apache/jmeter/thinktime/DefaultThinkTimeCreator.html"><code>org.apache.jmeter.thinktime.DefaultThinkTimeCreator</code></apilink>
</property>
<property name="think_time_creator.default_timer_implementation">
    Default Timer GUI class added to Test Plan by DefaultThinkTimeCreator
    Defaults to: <apilink href="org/apache/jmeter/timers/gui/UniformRandomTimerGui.html"><code>org.apache.jmeter.timers.gui.UniformRandomTimerGui</code></apilink>
</property>
<property name="think_time_creator.default_constant_pause">
    Default constant pause of Timer
    Defaults to: <code>1000</code>
</property>
<property name="think_time_creator.default_range">
    Default range pause of Timer
    Defaults to: <code>100</code>
</property>
</properties>
<a href="#">^</a>
</section>

<section name="&sect-num;.41 Naming Policy" anchor="naming_policy">
<description>Timer are used to introduce think time in your plan.</description>
<properties>
<property name="naming_policy.prefix">
    Prefix used when naming elements.
    Defaults to empty prefix
</property>
<property name="naming_policy.suffix">
    Prefix used when naming elements.
    Defaults to empty suffix
</property>
<property name="naming_policy.impl">
    Implementation of interface <apilink href="org/apache/jmeter/gui/action/TreeNodeNamingPolicy.html"><code>org.apache.jmeter.gui.action.TreeNodeNamingPolicy</code></apilink>
    Default implementation that create the Timer structure to add to Test Plan.
    Implementation of interface org.apache.jmeter.gui.action.thinktime.ThinkTimeCreator
    Defaults to: <apilink href="org/apache/jmeter/gui/action/impl/DefaultTreeNodeNamingPolicy.html"><code>org.apache.jmeter.gui.action.impl.DefaultTreeNodeNamingPolicy</code></apilink>
</property>
</properties>
<a href="#">^</a>
</section>

<section name="&sect-num;.42 Help" anchor="help">
<description>Controls how documentation in JMeter is displayed</description>
<properties>
    <property name="help.local">
    Switch that allows using Local documentation opened in JMeter GUI.<br/>
    By default we use Online documentation opened in Browser.
    Defaults to <code>false</code>
    </property>
</properties>
</section>

<section name="&sect-num;.43 Advanced Groovy Scripting configuration" anchor="groovy">
<description>Advanced properties for configuration of scripting in Groovy</description>
<properties>
    <property name="groovy.utilities">
    Path to Groovy file containing utility functions to make available to <code><funclink name="__groovy"/></code> function.<br/>
    Defaults to <code>bin/utility.groovy</code>
    </property>
</properties>
</section>

<section name="&sect-num;.44 Advanced JSR-223 Scripting configuration" anchor="jsr223">
<description>Advanced properties for configuration of scripting in JSR-223</description>
<properties>
    <property name="jsr223.init.file">
    <p>Path to JSR-223 file containing script to call on JMeter startup.</p>
    <p>The actual scripting engine to use will be determined by the extension
    of the init file name. If the file name has no extension, or no scripting
    engine could be found for that extension, Groovy will be used.</p>
    <p>This script can use pre-defined variables:</p>
    <ul>
        <li><code>log</code>: Logger to log any message, uses SLF4J library</li>
        <li><code>props</code>: JMeter Properties</li>
        <li><code>OUT</code>: System.OUT, useful to write in the console</li>
    </ul>
    No script is defined by default.
    </property>
    <property name="jsr223.compiled_scripts_cache_size">
    Used by JSR-223 elements.<br/>
    Size of compiled scripts cache.<br/>
    Defaults to: <code>100</code></property>
</properties>
</section>

<section name="&sect-num;.45 Documentation generation" anchor="docgeneration">
<description>Advanced properties for documentation generation</description>
<properties>
    <property name="docgeneration.schematic_xsl">
    Path to XSL file used to generate Schematic View of Test Plan.<br/>
    When empty, JMeter will use the embedded one in src/core/org/apache/jmeter/gui/action/schematic.xsl<br/>
    No default value</property>
</properties>
</section>
<section name="&sect-num;.46 Security Provider" anchor="securityprovider">
<description>Advanced properties for documentation generation</description>
<properties>
    <property name="security.provider">
        The value must be in this format: &lt;ClassName&gt;[:&lt;Postion&gt;[:&lt;ConfigString&gt;]]</property>.
        Examples:<br/>
        <dl>
            <dt>org.bouncycastle.jce.provider.BouncyCastleProvider</dt>
            <dd>Adds the <code>BouncyCastleProvider</code> to the next position available.</dd>
            <dt>org.bouncycastle.jce.provider.BouncyCastleProvider:1</dt>
            <dd>Adds the <code>BouncyCastleProvider</code>, at the first position.</dd>
            <dt>org.bouncycastle.jsse.provider.BouncyCastleJsseProvider:2:BC</dt>
            <dd>Adds the <code>BouncyCastleJsseProvider</code>, at the second position. And configure it to use the
                BC provider.</dd>
        </dl>
    <property name="security.provider.&lt;n&gt;">
        Replace the <code>&lt;n&gt;</code> with any number. The SecurityProviders will be added in the alphabetical
        order of the property names. (First: <code>security.provider</code> and then <code>security.provider.2</code>, <code>security.provider.3</code>,...)
        See property <code>security.provider</code>
        </property>
</properties>
</section>
<!--
<section name="&sect-num;.10 Reports" anchor="Reports">
<description>
        <br></br>
</description>

<component name="Report Plan" index="&sect-num;.10.1" screenshot="">
<description><p></p></description>
</component>

<component name="Report Table" index="&sect-num;.10.2" screenshot="">
<description><p></p></description>
</component>

<component name="HTML Report Writer" index="&sect-num;.10.3" screenshot="">
<description><p></p></description>
</component>

<component name="Report Page" index="&sect-num;.10.4" screenshot="">
<description><p></p></description>
</component>

<component name="Line Graph" index="&sect-num;.10.5" screenshot="">
<description><p></p></description>
</component>

<component name="Bar Chart" index="&sect-num;.10.6" screenshot="">
<description><p></p></description>
</component>

<a href="#">^</a>

</section>
 -->
</body>
</document>
