A maven plugin to include features from jmeter-plugins.org for JMeterPluginsCMD Command Line Tool to create graphs, export csv files from jmeter result files and Filter Result tool.

Overview

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

<groupId>io.github.vdaburon</groupId>
<artifactId>jmeter-graph-tool-maven-plugin</artifactId>
<version>1.0</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.0</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>
                    </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.0</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) :

  • inputFile (mandatory)
  • pluginType (mandatory)
  • width
  • height
  • generatePng (mandatory depends of the pluginType)
  • generateCsv (mandatory depends of the pluginType)
  • granulation
  • relativeTimes
  • aggregateRows
  • paintGradient
  • paintZeroing
  • paintMarkers
  • preventOutliers
  • limitRows
  • forceY
  • hideLowCounts
  • successFilter
  • includeLabels
  • excludeLabels
  • autoScale
  • lineWeight
  • extractorRegexps
  • includeLabelRegex
  • excludeLabelRegex
  • startOffset
  • endOffset

List of the graph plugins type

Parameters for a filterResultsTool

  • inputFile (path to the file to read)
  • outputFile (path to the file to write)
  • successFilter (true/false, true : only success samplers, false : all results by default)
  • includeLabels (labels list with comma or label with regular expression)
  • includeLabelRegex (true/false, true if your label is a regular expression)
  • excludeLabels (labels list with comma or label with regular expression)
  • excludeLabelRegex (true/false, true if your label is a regular expression))
  • startOffset (integer, number of seconds since the start to remove)
  • endOffset (integer, number of seconds offset to remove samplers after with value, keep samplers between startOffset and endOffset seconds)
  • saveAsXml (true/false, false : CSV format by default)

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>

  • xms Memory Start unit MB
  • xmx Memory Max unit MB
    and arguments for more JVM configuration

E.g :

<jMeterProcessJVMSettings> 
		<xms>1024</xms>
		<xmx>2048</xmx>
		<arguments>
			<argument>-Xprof</argument>
			<argument>-Xfuture</argument>
		</arguments>
</jMeterProcessJVMSettings>

Full example

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

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.1</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.4.0</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>
                    <jmeterExtensions>
                        <artifact>kg.apc:jmeter-plugins-functions:2.1</artifact>
                        <artifact>kg.apc:jmeter-plugins-casutg:2.9</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.3</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.0</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>

                            <jMeterProcessJVMSettings>
                                <xms>${jvm_xms}</xms>
                                <xmx>${jvm_xmx}</xmx>
                            </jMeterProcessJVMSettings>
                            <propertiesUser>
                                <language>en</language>
                            </propertiesUser>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>
You might also like...

An IDE built specifically for Modding Minecraft Java Edition, containing many useful features that will be helpful for modders.

Railroad IDE Railroad IDE is an IDE that is made specifically for Minecraft Development including Forge Mods, and Fabric Mods! This IDE is made to hel

Dec 8, 2022

Experimenting with awesome React Native + Expo features.

Experimenting with awesome React Native + Expo features.

Expo Mega Demo Experimenting with new awesome React Native + Expo features. Work in progress. More info soon. A preview video (click the image): Core

Dec 29, 2022

Provides lobby features for mc servers running BedWars1058 in bungee mode.

Provides lobby features for mc servers running BedWars1058 in bungee mode.

BedWarsProxy is a plugin for Bungeecord networks that are running BedWars1058 in BUNGEE mode. This plugin provides features for lobby servers: join gu

Dec 26, 2022

A small tools to play with JavaFX Color.derive() function - allows to create custom colors and to save those in color palettes.

A small tools to play with JavaFX Color.derive() function - allows to create custom colors and to save those in color palettes.

DeriveColorsFX This is not a serious application. Its a small tool where I just played with the method Color::deriveColor provided by JavaFX. Also its

Oct 9, 2022

Nightmare-text - This is a simple lib that help to create, titles, actionbars, hovers and click actions chat components.

Nightmare text This is a simple lib that help to create, titles, actionbars, hovers and click actions chat components. Setup public final class Testin

Mar 9, 2022

A JavaFX UI framework to create fully customized undecorated windows

A JavaFX UI framework to create fully customized undecorated windows

CustomStage A JavaFX undecorated stage which can fully be customized Donations If this project is helpful to you and love my work and feel like showin

Jan 6, 2023

CSS keyframe animation for JavaFX. Create animations like you would do with CSS.

CSS keyframe animation for JavaFX. Create animations like you would do with CSS.

JFXAnimation CSS keyframe animation for JavaFX. If you are using JFoenix JFXAnimation is included (currently version 1.0.0 only) Requirements JDK 8 an

Dec 28, 2022

Create your own auto-update framework

Create your own auto-update framework

Read the documentation, explore the JavaDoc, or see it in action Create a framework: design the environment and lifecycle (—bootstrap) to make your ow

Dec 29, 2022

A project that shows the different ways on how to create custom controls in JavaFX

JavaFX Custom Controls This project will show different ways on how to create custom controls in JavaFX. It will cover the following approaches: Resty

Sep 5, 2022
Comments
  • getting below error when using from jenkins with  openjdk11

    getting below error when using from jenkins with openjdk11

    added in pom.xml as plugin and ran as verify

    Exception in thread "main" java.lang.InternalError: java.lang.reflect.InvocationTargetException at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:87) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:75) at java.desktop/sun.font.SunFontManager.getInstance(SunFontManager.java:248) at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:266) at java.desktop/sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1242) at java.desktop/javax.swing.JComponent.getFontMetrics(JComponent.java:1691) at java.desktop/javax.swing.text.PlainView.calculateLongestLine(PlainView.java:783) at java.desktop/javax.swing.text.PlainView.updateMetrics(PlainView.java:332) at java.desktop/javax.swing.text.PlainView.updateDamage(PlainView.java:670) at java.desktop/javax.swing.text.PlainView.insertUpdate(PlainView.java:591) at java.desktop/javax.swing.text.FieldView.insertUpdate(FieldView.java:294) at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(BasicTextUI.java:1714) at java.desktop/javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(BasicTextUI.java:1981) at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:226) at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:780) at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:739) at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131) at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:698) at java.desktop/javax.swing.text.JTextComponent.setText(JTextComponent.java:1729) at org.apache.jmeter.gui.NamePanel._setName(NamePanel.java:106) at org.apache.jmeter.gui.NamePanel.(NamePanel.java:48) at org.apache.jmeter.gui.AbstractJMeterGuiComponent.(AbstractJMeterGuiComponent.java:92) at org.apache.jmeter.visualizers.gui.AbstractListenerGui.(AbstractListenerGui.java:31) at org.apache.jmeter.visualizers.gui.AbstractVisualizer.(AbstractVisualizer.java:124) at kg.apc.jmeter.graphs.AbstractGraphPanelVisualizer.(AbstractGraphPanelVisualizer.java:102) at org.jmeterplugins.tools.FilterResults.(FilterResults.java:35) at kg.apc.cmdtools.FilterResultsTool.(FilterResultsTool.java:26) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347) at java.base/java.lang.Class.newInstance(Class.java:645) at kg.apc.cmdtools.PluginsCMD.getToolInstance(PluginsCMD.java:128) at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:50) at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:21) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at kg.apc.cmd.UniversalRunner.main(UniversalRunner.java:117) Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:85) ... 42 more Caused by: java.lang.NullPointerException: Cannot load from short array because "sun.awt.FontConfiguration.head" is null at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262) at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:224) at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:106) at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:706) at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:358) at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:315) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at java.desktop/sun.font.SunFontManager.(SunFontManager.java:315) at java.desktop/sun.awt.FcFontManager.(FcFontManager.java:35) at java.desktop/sun.awt.X11FontManager.(X11FontManager.java:56)

    [ERROR] Failed to execute goal io.github.vdaburon:jmeter-graph-tool-maven-plugin:1.0:create-graph (create-graphs) on project octoperf-test: Execution create-graphs of goal io.github.vdaburon:jmeter-graph-tool-maven-plugin:1.0:create-graph failed: org.apache.maven.plugin.MojoExecutionException: Unable to execute mojo: Command execution failed. Process exited with an error: 1

    opened by codeHack99 1
Owner
Vincent DABURON
Vincent DABURON
A simple JavaFX application to load, save and edit a CSV file and provide a JSON configuration for columns to check the values in the columns.

SmartCSV.fx Description A simple JavaFX application to load, save and edit a CSV file and provide a JSON Table Schema for columns to check the values

Andreas Billmann 74 Oct 24, 2022
Old and archived; More recent development is in https://github.com/Create-Fabric/Create-Refabricated.

NOW ARCHIVED Go here for the continuation of this project. Old README Create Fabric A Fabric port of Create. Create Discord: https://discord.gg/AjRTh6

null 12 Dec 7, 2022
A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

⚡ A powerful & easy to use chart library for Android ⚡ Charts is the iOS version of this library Table of Contents Quick Start Gradle Maven Documentat

Philipp Jahoda 36k Jan 9, 2023
Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE 8 and provides the functionalities to use and handle easily Tiles in your JavaFX application.

Lib-Tile Intention Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE and provides the functionalities to use and handle easily Tile

Peter Rogge 13 Apr 13, 2022
A library for off-line inverse geocoding that supports location up to district level

jetgeo 是一个用于离线逆地理编码的库,支持转换位置到县/地区级别, 通过它你可以消耗一定的内存以换取一个内存级别的转换。主要适用于精度要求不高的一些服务端场景。 如果你需要一个精确定位的场景,那么它可能并不合适,此时你可能需要适用地理位置信息提供商的一些服务, 但他们往往有次数限制或者需要支付

linG 6 Aug 25, 2022
Android Resource Manager application to manage and analysis your app resources with many features like image resize, Color, Dimens and code Analysis

AndroidResourceManager Cross-Platform tools to manage your resources as an Android Developer, AndroidResourceManager - ARM provide five main services

Amr Hesham 26 Nov 16, 2022
Lobby System Template for a multiplayer java game, with chat and other features, using JavaFX and socket TCP (will be extended to UDP).

JavaFX-MultiplayerLobbySystem JavaFX lobby system for multiplayer games with chat, ready toggle and kick buttons, using socket TCP by default. Demo Cr

Michele Righi 7 May 8, 2022
Example of using the TestFX library to perform E2E tests in a Maven project

demoTestFX Ejemplo de uso de la librería TestFX para realizar pruebas E2E en un proyecto Maven. El principal problema para conseguir ejecutar los test

null 1 Jan 28, 2022
A maven-based JavaFX Asteroids game based on a tutorial from Lee Stemkoski

JavaFX Asteroids About This is a maven-based project which implements a JavaFX Asteroids Game. The code is based on a tutorial from Lee Stemkoski whic

null 2 Mar 2, 2022
An IDE built specifically for Modding Minecraft Java Edition, containing many useful features that will be helpful for modders.

Modding-IDE An IDE built specifically for Modding Minecraft Java Edition, containing many useful features that will be helpful for modders. Trello: ht

null 11 Jul 16, 2022