Home

Awesome

jmeter-graph-tool-maven-plugin

A maven plugin to create graphs using the JMeter Plugins CMDRunner from JMeter result files (*.jtl or *.csv) or using Filter Results Tool.

See https://jmeter-plugins.org/wiki/JMeterPluginsCMD/ for more informations for graphs and graphs parameters.

See https://jmeter-plugins.org/wiki/FilterResultsTool/ for more informations for Filter Result Tools.

A fork from project jmeter-graph-maven-plugin project and renamed project, add 'tool' to the artifactId. With the permission of the old main developper Michael LEX (september 2021).

Global documentation for graphs : Customizing graphs

Note: DBMon monitoring graph do not work with this version (log library trouble)

License

See the LICENSE file Apache 2 https://www.apache.org/licenses/LICENSE-2.0

Graphs demo created by jmeter-graph-tool-maven-plugin

Some graphs generated with this plugin

Active Threads Over Time with 2 Thread Groups

Active Threads Over Time.png with 2 Thread Groups

Response Times Over Time only pages for Thread Group SC01 force Y to 1000 ms

Response Times Over Time SC01

Response Times Over Time only pages for Thread Group SC03 force Y to 1000 ms

Response Times Over Time SC03

Response Codes per Second (http status)

Response Codes per Second

Response Times Percentiles

Response Times Percentiles

Synthesis Report filtered with regular expression for label (the plugin creates only csv result file not this table display)

Synthesis Report

OS Monitoring CPU with PerfMon plugin

OS CPU

JMX Monitoring for Tomcat (JVM Memory with JMXMon plugin)

JMX Monitoring

Apache httpd monitoring with Page Data Extractor plugin

Page Data Extractor Monitoring process use for httpd

Usage

The maven groupId, artifactId and version, this plugin is in the Maven Central Repository Maven Central jmeter-graph-tool-maven-plugin

<groupId>io.github.vdaburon</groupId>
<artifactId>jmeter-graph-tool-maven-plugin</artifactId>
<version>1.2</version>

Just include the plugin in your pom.xml and execute mvn jmeter-graph:create-graph.

<project>
    <!-- ... -->
    <build>
        <plugins>
            <plugin>
                <groupId>io.github.vdaburon</groupId>
                <artifactId>jmeter-graph-tool-maven-plugin</artifactId>
                <version>1.2</version>
                <configuration>
                    <!-- see Filter Results Tool in jmeter-plugins.org -->
                    <filterResultsTool>
                        <filterResultsParam>
                            <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                            <outputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_regex_filtred.csv</outputFile>
                            <successFilter>false</successFilter>
                            <includeLabels>0.*</includeLabels>
                            <includeLabelRegex>true</includeLabelRegex>
                        </filterResultsParam>
                        <filterResultsParam>
                            <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                            <outputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_offset_filtred.jtl</outputFile>
                            <successFilter>false</successFilter>
                            <startOffset>2</startOffset>
                            <endOffset>20</endOffset>
                            <saveAsXml>true</saveAsXml>
                        </filterResultsParam>
                    </filterResultsTool>
                    <graphs>
                      <!-- see JMeterPluginsCMD Command Line Tool in jmeter-plugins.org -->
                        <graph>
                            <pluginType>ResponseTimesOverTime</pluginType>
                            <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                            <generatePng>${project.build.directory}/jmeter/results/ResponseTimesOverTime.png</generatePng>
                            <width>800</width>
                            <height>600</height>
                            <limitRows>50</limitRows>
                            <relativeTimes>no</relativeTimes>
                            <paintGradient>no</paintGradient>
                            <startOffset>2</startOffset>
                            <endOffset>20</endOffset>
                            <includeLabels>0.*</includeLabels>
                            <includeLabelRegex>true</includeLabelRegex>
                            <forceY>1000</forceY>
                            <autoScale>no</autoScale>
                            <lineWeight>2</lineWeight>
                        </graph>
                        <graph>
                            <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                            <pluginType>TransactionsPerSecond</pluginType>
                            <width>800</width>
                            <height>600</height>
                            <generatePng>${project.build.directory}/jmeter/results/TransactionsPerSecond.png</generatePng>
                            <relativeTimes>no</relativeTimes>
                            <aggregateRows>yes</aggregateRows>
                            <paintGradient>no</paintGradient>
                        </graph>
                        <!-- Page Data Extractor -->
                        <graph>
                            <pluginType>PageDataExtractorOverTime</pluginType>
                            <inputFile>${project.build.directory}/jmeter/results/pde_httpd.jtl</inputFile>
                            <generatePng>${project.build.directory}/jmeter/results/pde_httpd_all_workers.png</generatePng>
                            <extractorRegexps>(BusyWorkers|IdleWorkers):.*{;}[A-Za-z]+:.([0-9]+){;}false{;}true</extractorRegexps>
                            <width>1024</width>
                            <height>800</height>
                            <relativeTimes>no</relativeTimes>
                            <aggregateRows>no</aggregateRows>
                            <paintGradient>no</paintGradient>
                        </graph>
                        <graph>
                            <pluginType>PageDataExtractorOverTime</pluginType>
                            <inputFile>${project.build.directory}/jmeter/results/pde_httpd.jtl</inputFile>
                            <generatePng>${project.build.directory}/jmeter/results/pde_httpd_busy_workers.png</generatePng>
                            <extractorRegexps>(BusyWorkers):.*{;}BusyWorkers:.([0-9]+){;}false{;}true</extractorRegexps>
                            <width>1024</width>
                            <height>800</height>
                            <relativeTimes>no</relativeTimes>
                            <aggregateRows>no</aggregateRows>
                            <paintGradient>no</paintGradient>
                        </graph>
                        <!-- PerfMon -->
                        <graph>
                            <pluginType>PerfMon</pluginType>
                            <inputFile>${project.build.directory}/jmeter/results/perfmon.csv</inputFile>
                            <generatePng>${project.build.directory}/jmeter/results/Perfmon_CPU.png</generatePng>
                            <includeLabels>.*CPU.*</includeLabels>
                            <includeLabelRegex>true</includeLabelRegex>
                            <width>1024</width>
                            <height>800</height>
                            <relativeTimes>no</relativeTimes>
                            <aggregateRows>no</aggregateRows>
                            <paintGradient>no</paintGradient>
                        </graph>
                        <graph>
                            <pluginType>PerfMon</pluginType>
                            <inputFile>${project.build.directory}/jmeter/results/perfmon.csv</inputFile>
                            <generatePng>${project.build.directory}/jmeter/results/Perfmon_Memory.png</generatePng>
                            <includeLabels>.*Memory.*</includeLabels>
                            <includeLabelRegex>true</includeLabelRegex>
                            <width>1024</width>
                            <height>800</height>
                            <relativeTimes>no</relativeTimes>
                            <aggregateRows>no</aggregateRows>
                            <paintGradient>no</paintGradient>
                        </graph>
                        <!-- JMXMon -->
                        <graph>
                            <pluginType>JMXMon</pluginType>
                            <inputFile>${project.build.directory}/jmeter/results/gest_jmx_tomcat.jtl</inputFile>
                            <generatePng>${project.build.directory}/jmeter/results/JMX_memory_jvm.png</generatePng>
                            <includeLabels>used.HeapMemoryUsage.*</includeLabels>
                            <includeLabelRegex>true</includeLabelRegex>
                            <width>1024</width>
                            <height>800</height>
                            <relativeTimes>no</relativeTimes>
                            <aggregateRows>no</aggregateRows>
                            <paintGradient>no</paintGradient>
                        </graph>
                        <graph>
                            <pluginType>JMXMon</pluginType>
                            <inputFile>${project.build.directory}/jmeter/results/gest_jmx_tomcat.jtl</inputFile>
                            <generatePng>${project.build.directory}/jmeter/results/JMX_currentThreadsBusy.png</generatePng>
                            <includeLabels>.*currentThreadsBusy.*</includeLabels>
                            <includeLabelRegex>true</includeLabelRegex>
                            <width>1024</width>
                            <height>800</height>
                            <relativeTimes>no</relativeTimes>
                            <aggregateRows>no</aggregateRows>
                            <paintGradient>no</paintGradient>
                        </graph>
                        <!-- Aggregate report csv -->
                        <graph>
                            <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                            <pluginType>AggregateReport</pluginType>
                            <generateCsv>${project.build.directory}/jmeter/results/AggregateReport.csv</generateCsv>
                        </graph>
                        <graph>
                            <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                            <pluginType>ResponseCodesPerSecond</pluginType>
                            <width>800</width>
                            <height>600</height>
                            <generatePng>${project.build.directory}/jmeter/results/ResponseCodesPerSecond.png</generatePng>
                            <relativeTimes>no</relativeTimes>
                            <aggregateRows>no</aggregateRows>
                            <paintGradient>no</paintGradient>
                        </graph>
                    </graphs>
                    <!-- copy files from directoryTestFiles to MAVEN_PROJECT_DIRECTORY/target/jmeter/bin -->
                    <directoryTestFiles>${project.build.directory}/jmeter/testFiles</directoryTestFiles>
                    <!-- see jmeter-maven-pugins -->
                    <jMeterProcessJVMSettings>
                        <xms>${jvm_xms}</xms>
                        <xmx>${jvm_xmx}</xmx>
                        <arguments>
                            <argument>-Duser.language=en</argument>
                        </arguments>
                    </jMeterProcessJVMSettings>
                    <!-- merge this properties with user.properties file in MAVEN_PROJECT_DIRECTORY/target/jmeter/bin -->
                    <!-- property format = <property_name>property_value</property name> will be property_name=property_value in the user.properties file. E.g. language=en -->
                    <propertiesUser>
                        <language>en</language>
                    </propertiesUser>
            </configuration>
        </plugin>
    </plugins>
  </build>
</project>

You can also bind the graph-generation to a maven-phase, e.g. verify:

<project>
  <!-- ... -->
  <build>
    <plugins>
      <plugin>
        <groupId>io.github.vdaburon</groupId>
        <artifactId>jmeter-graph-tool-maven-plugin</artifactId>
        <version>1.2</version>
        <executions>
          <execution>
            <id>create-graphs</id>
            <goals>
              <goal>create-graph</goal>
            </goals>
            <phase>verify</phase>
            <configuration>
              <!-- ... you can declare filterResultsTool here -->
             <graphs>
                <graph>
                    <pluginType>ResponseTimesOverTime</pluginType>
                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                    <generatePng>${project.build.directory}/jmeter/results/ResponseTimesOverTime.png</generatePng>
                    <width>1024</width>
                    <height>768</height>
                </graph>
                <!-- ... you can declare more <graph> here -->
              </graphs>
            </configuration>
          </execution>
        </execution>
      </plugin>
    </plugins>
  </build>
</project>

Parameters for a graph (depends of the pluginType) :

List of the graph plugins type

Parameters for a filterResultsTool

user.properties and jmeter.properties

Files in the directory <directoryTestFiles> are copied by the jmeter-graph-tool-maven-plugin to the build directory <MAVEN_PROJECT_DIRECTORY>/target/jmeter/bin.

You can put your jmeter.properties or your user.properties in the <MAVEN_PROJECT_DIRECTORY>/src/test/jmeter, files will be place by jmeter-maven-plugin in <MAVEN_PROJECT_DIRECTORY>/target/jmeter/testFiles (Note : ${project.build.directory} == <MAVEN_PROJECT_DIRECTORY>/target), and declare

<directoryTestFiles>${project.build.directory}/jmeter/testFiles</directoryTestFiles>

You can also add or replace user properties values with the

<propertiesUser><propertyName>propertyValue</propertiesUser></propertyName>
E.g. 
<propertiesUser>
    <language>en</language>
</propertiesUser>
will be : language=en in final the user.properties

Properties read order :

default jmeter.properties < jmeter.properties in <MAVEN_PROJECT_DIRECTORY>/src/test/jmeter or <directoryTestFiles>${project.build.directory}/jmeter/testFiles

default user.properties < user.propertes in <MAVEN_PROJECT_DIRECTORY>/src/test/jmeter or <directoryTestFiles>${project.build.directory}/jmeter/testFiles < properties declared in the pom.xml under the <propertiesUser>

JVM Setting

You could change the JVM setting with <jMeterProcessJVMSettings>

E.g :

<jMeterProcessJVMSettings> 
    <xms>1024</xms>
    <xmx>2048</xmx>
    <arguments>
        <argument>-Duser.language=en</argument>
    </arguments>
</jMeterProcessJVMSettings>

Compagnion tools

This tools are also used with this maven plugin :

Tools installed with jmeter-plugins-manager from jmeter-plugins.org

This tools could be installed with the jmeter-plugins-manager in Apache JMeter.

Full example

A full example, use jmeter-maven-plugin see and jmeter-graph-tool-maven-plugin.

<directoryTestFiles>Launch load test and the monitoring (PerfMon, JMXMon, Page Data Extractor), then filter results and generate graphs and Aggregate Report.

Use maven-phase verify

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>io.github.vdaburon.jmeter</groupId>
    <artifactId>jm_maven</artifactId>
    <version>1.3</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <jvm_xms>256</jvm_xms>
        <jvm_xmx>756</jvm_xmx>
        <nb_vusers>20</nb_vusers>
        <duration>180</duration>
    </properties>

    <build>
        <plugins>
                
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>3.6.1</version>
                <executions>
                    <!-- Generate JMeter configuration -->
                    <execution>
                        <id>configuration</id>
                        <goals>
                            <goal>configure</goal>
                        </goals>
                    </execution>
                    <!-- Run JMeter tests -->
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                    <!-- Fail build on errors in test 
                    <execution>
                        <id>jmeter-check-results</id>
                        <goals>
                            <goal>results</goal>
                        </goals>
                    </execution>
                    -->
                </executions>
                <configuration>
                    <testPlanLibraries>
                        <!-- add libraries in JMETER_HOME/lib -->
                        <artifact>mysql:mysql-connector-java:8.0.30</artifact>
                    </testPlanLibraries>
                    <jmeterExtensions>
                        <artifact>kg.apc:jmeter-plugins-functions:2.2</artifact>
                        <artifact>kg.apc:jmeter-plugins-casutg:2.10</artifact>
                        <artifact>kg.apc:jmeter-plugins-dummy:0.4</artifact>
                        <artifact>kg.apc:jmeter-plugins-dbmon:0.1</artifact>
                        <artifact>kg.apc:jmeter-plugins-jmxmon:0.3</artifact>
                        <artifact>kg.apc:jmeter-plugins-pde:0.1</artifact>
                        <artifact>kg.apc:jmeter-plugins-perfmon:2.1</artifact>
                        <artifact>kg.apc:jmeter-plugins-graphs-basic:2.0</artifact>
                        <artifact>kg.apc:jmeter-plugins-cmn-jmeter:0.7</artifact>
                    </jmeterExtensions>
                    <excludedArtifacts>
                        <exclusion>commons-pool2:commons-pool2</exclusion>
                    </excludedArtifacts>
                    
                    <!-- The plugin uses some broken dependencies An alternative is to set 
                        this to true and use excludedArtifacts, see below -->
                    <downloadExtensionDependencies>true</downloadExtensionDependencies>
                    <jMeterProcessJVMSettings>
                        <xms>${jvm_xms}</xms>
                        <xmx>${jvm_xmx}</xmx>
                    </jMeterProcessJVMSettings>
                    <propertiesUser>
                        <!-- project directory for this script, dedicated property use in the JMeter script to read csv file for example -->
                        <dirProject>${project.build.directory}/jmeter</dirProject>
                        <!-- nb_users and load test duration could be changed with mvn -Dparam=value, e.g. -Dnb_vusers=10 to replace default value (10 replace 20)-->
                        <nb_vusers>${nb_vusers}</nb_vusers>
                        <duration>${duration}</duration>
                    </propertiesUser>
                    <generateReports>false</generateReports>
                    <testResultsTimestamp>false</testResultsTimestamp>
                    <resultsFileFormat>csv</resultsFileFormat>
                </configuration>
            </plugin>
            <plugin>
                <groupId>io.github.vdaburon</groupId>
                <artifactId>jmeter-graph-tool-maven-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <id>create-graphs</id>
                        <goals>
                            <goal>create-graph</goal>
                        </goals>
                        <phase>verify</phase>
                        <configuration>
                            <directoryTestFiles>${project.build.directory}/jmeter/testFiles</directoryTestFiles>
                            <filterResultsTool>
                                <filterResultsParam>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <outputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_regex_filtred.csv</outputFile>
                                    <successFilter>false</successFilter>
                                    <includeLabels>0.*</includeLabels>
                                    <includeLabelRegex>true</includeLabelRegex>
                                </filterResultsParam>
                                <filterResultsParam>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <outputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_offset_filtred.jtl</outputFile>
                                    <successFilter>false</successFilter>
                                    <startOffset>2</startOffset>
                                    <endOffset>20</endOffset>
                                    <saveAsXml>true</saveAsXml>
                                </filterResultsParam>
                            </filterResultsTool>
    
                            <graphs>
                                <graph>
                                    <pluginType>AggregateReport</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <generateCsv>${project.build.directory}/jmeter/results/AggregateReport.csv</generateCsv>
                                </graph>
      
                                <graph>
                                    <pluginType>ResponseTimesOverTime</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <generatePng>${project.build.directory}/jmeter/results/ResponseTimesOverTime.png</generatePng>
                                    <width>800</width>
                                    <height>600</height>
                                    <limitRows>50</limitRows>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                    <startOffset>2</startOffset>
                                    <endOffset>20</endOffset>
                                    <includeLabels>0.*</includeLabels>
                                    <includeLabelRegex>true</includeLabelRegex>
                                    <forceY>1000</forceY>
                                    <autoScale>no</autoScale>
                                    <lineWeight>4</lineWeight>
                                </graph>
      
                                <graph>
                                    <pluginType>LatenciesOverTime</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <width>800</width>
                                    <height>600</height>
                                    <generatePng>${project.build.directory}/jmeter/results/LatenciesOverTime.png</generatePng>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>ResponseCodesPerSecond</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <width>800</width>
                                    <height>600</height>
                                    <generatePng>${project.build.directory}/jmeter/results/ResponseCodesPerSecond.png</generatePng>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>ResponseTimesDistribution</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <width>800</width>
                                    <height>600</height>
                                    <generatePng>${project.build.directory}/jmeter/results/ResponseTimesDistribution.png</generatePng>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>ResponseTimesOverTime</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <width>800</width>
                                    <height>600</height>
                                    <generatePng>${project.build.directory}/jmeter/results/ResponseTimesOverTime.png</generatePng>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>ResponseTimesPercentiles</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <width>800</width>
                                    <height>600</height>
                                    <generatePng>${project.build.directory}/jmeter/results/ResponseTimesPercentiles.png</generatePng>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>ThroughputVsThreads</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <width>800</width>
                                    <height>600</height>
                                    <generatePng>${project.build.directory}/jmeter/results/ThroughputVsThreads.png</generatePng>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>TimesVsThreads</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <width>800</width>
                                    <height>600</height>
                                    <generatePng>${project.build.directory}/jmeter/results/TimesVsThreads.png</generatePng>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>TransactionsPerSecond</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gestdoc_sc01_menu_local_monit.csv</inputFile>
                                    <width>800</width>
                                    <height>600</height>
                                    <generatePng>${project.build.directory}/jmeter/results/TransactionsPerSecond.png</generatePng>
                                    <relativeTimes>no</relativeTimes>
                                    <aggregateRows>yes</aggregateRows>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <!-- graphs from monitoring -->
                                <graph>
                                     <pluginType>PageDataExtractorOverTime</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/pde_httpd.jtl</inputFile>
                                    <generatePng>${project.build.directory}/jmeter/results/pde_httpd_all_workers.png</generatePng>
                                    <extractorRegexps>(BusyWorkers|IdleWorkers):.*{;}[A-Za-z]+:.([0-9]+){;}false{;}true</extractorRegexps>
                                    <width>1024</width>
                                    <height>800</height>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>PageDataExtractorOverTime</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/pde_httpd.jtl</inputFile>
                                    <generatePng>${project.build.directory}/jmeter/results/pde_httpd_busy_workers.png</generatePng>
                                    <extractorRegexps>(BusyWorkers):.*{;}BusyWorkers:.([0-9]+){;}false{;}true</extractorRegexps>
                                    <width>1024</width>
                                    <height>800</height>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>PerfMon</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/perfmon.csv</inputFile>
                                    <generatePng>${project.build.directory}/jmeter/results/Perfmon_CPU.png</generatePng>
                                    <includeLabels>.*CPU.*</includeLabels>
                                    <includeLabelRegex>true</includeLabelRegex>
                                    <width>1024</width>
                                    <height>800</height>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>PerfMon</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/perfmon.csv</inputFile>
                                    <generatePng>${project.build.directory}/jmeter/results/Perfmon_Memory.png</generatePng>
                                    <includeLabels>.*Memory.*</includeLabels>
                                    <includeLabelRegex>true</includeLabelRegex>
                                    <width>1024</width>
                                    <height>800</height>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>JMXMon</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gest_jmx_tomcat.jtl</inputFile>
                                    <generatePng>${project.build.directory}/jmeter/results/JMX_memory_jvm.png</generatePng>
                                    <includeLabels>used.HeapMemoryUsage.*</includeLabels>
                                    <includeLabelRegex>true</includeLabelRegex>
                                    <width>1024</width>
                                    <height>800</height>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                </graph>
                                <graph>
                                    <pluginType>JMXMon</pluginType>
                                    <inputFile>${project.build.directory}/jmeter/results/gest_jmx_tomcat.jtl</inputFile>
                                    <generatePng>${project.build.directory}/jmeter/results/JMX_currentThreadsBusy.png</generatePng>
                                    <includeLabels>.*currentThreadsBusy.*</includeLabels>
                                    <includeLabelRegex>true</includeLabelRegex>
                                    <width>1024</width>
                                    <height>800</height>
                                    <relativeTimes>no</relativeTimes>
                                    <paintGradient>no</paintGradient>
                                </graph>
                             </graphs>
                            <!-- copy files from directoryTestFiles especially user.properties to MAVEN_PROJECT_DIRECTORY/target/jmeter/bin -->
                            <directoryTestFiles>${project.build.directory}/jmeter/testFiles</directoryTestFiles>
                            <jMeterProcessJVMSettings>
                                <xms>${jvm_xms}</xms>
                                <xmx>${jvm_xmx}</xmx>
                                <arguments>
                                    <argument>-Duser.language=en</argument>
                                </arguments>
                            </jMeterProcessJVMSettings>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>