Performance Plugin

Skip to end of metadata
Go to start of metadata

Plugin Information

Plugin ID performance Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
1.10
Jan 27, 2014
1.480
Source Code
Issue Tracking
Maintainer(s)
GitHub
Open Issues
Manuel Carrasco Monino (id: manolo)
Vergnes (id: vergnes)
Arnaud Espy (id: aespy)
Usage Installations 2013-Apr 3629
2013-May 3720
2013-Jun 3745
2013-Jul 3900
2013-Aug 3859
2013-Sep 4048
2013-Oct 4246
2013-Nov 4283
2013-Dec 4200
2014-Jan 4452
2014-Feb 4616
2014-Mar 4845

This plugin allows you to capture reports from JMeter and JUnit . Jenkins will generate graphic charts with the trend report of performance and robustness.
It includes the feature of setting the final build status as good, unstable or failed, based on the reported error percentage.
Report formats supported:

  • JMeter XML format (CSV is currently not supported, see JENKINS-16627)
  • JUnit format (used by Soapui for example)

Changelog:

v1.10

  • FIX: Cache preprocessed JMeter Reports to avoid performance issues.
  • FEATURE: Added comparison between builds
  • FIX: UI bug always showing same values regardless of what was saved.
  • FEATURE: Average response time thresholds per jtl file.
  • FIX: Corrected a bug where the 'All URIs' was just displaying the last entry again.
  • FEATURE: Added some useful metrics to the summary details table. JMeter sends size of the response which can be useful to calculate bandwidth usage for perf tests.

v1.9

  • FIX: don't use ; as separator in cookie value
  • FEATURE: added csv parser
  • FEATURE: added response time trend graph for selected build
  • FEATURE: builds trends for responce time
  • FEATURE: consider the time for each test case in a test suite
  • FEATURE: simple cache added
  • FEATURE: new response time graphs selected build and uri report
  • FEATURE: new graphs for response time trends
  • FEATURE: parse JMeter summarizer files

v1.8

  • FIX: parsing results of long running tests
  • FIX: differences not shown for old builds
  • FEATURE: more information columns in the report map
  • CHANGES: use negative values to indicate no threshold (this allows to use 0% thresholds)
  • FEATURE: graphs available on the reports
  • FEATURE: url parameter (buildCount) to control the number of builds to display
  • FEATURE: get a larger image when clicking on a graph

v1.7

  • FIX: Unstable test set final build incorrectly when a previous test failed.
  • FIX: JENKINS-9655, didn't parse JUnit reports correctly (patch: Attila-Mihaly)

v1.6

  • Fix JMeter parser when nested xml tags are in the report.

v1.5

  • Now computes median and 90% Line in jmeter test results.

v1.4

  • Just a control version published after migrating the plugin to gitHub infrastructure.

v1.3

  • Formalized an extension point to define custom parsers so as it should be easier add new parsers.
  • JMeter and JUnit parsers have been split in different classes.
  • Added a new Trend report.
  • Fixed an NPE when a build was failed (JENKINS-5224, JENKINS-6908)

v1.2

  • Support for Ant-FileSet pattern to search  report files.
  • Improved css.
  • Localized UI elements
  • Added Spanish translation

v1.0

  • First release, moved code from JMeter plugin  v.0.3.0 to Performance v.1.0.
  • Added ability to parse junit xml report files.

Jenkins Configuration

  • Add a new report selecting the appropriate parser for your reports (JMeter, JUnit)
  • Configure the search pattern to select the files to be parsed by the Performance plugin. Depending on the parser there is a default pattern to be used if you leave the input box blank.
  • You can configure the error percentage thresholds which would make the project unstable or failed or leave them blank to disable the feature.

Performance Plugin usage

  • As soon as you have configured Jenkins and launched a first build, you'll notice that a new entry is appearing in the left summary : Performance trend.
  • If you just have one report file, the graph of this reports will appear on the main page.
  • If you have more of one report file, you must click on "Performance Trend" and the graphs will appear.

  • The link: Filter trend data in the Performance Trend Page, will permit you to configure the graphs. When you click on it, you obtain the graph configuration menu.

         This configuration will be save in a cookie named performance. The default configuration is: "Show all the builds".

       

  • The link Last report in the Performance Trend Page, give us the detailed information of each report for the last build.
  • You can access to the data of old builds pushing on the new menu entry of each build named Performance report.

  • In the performance trend page, the links to Trend report shows a report with the history data of each build.

Configuring a project to run jmeter performance tests

Although there are different ways to run jmeter tests, here is explained a method to run them using ant.
Once you have your build.xml ready to run jmeter, you can add your project to Jenkins as a Freestyle-project which uses ant, and configure it following the instructions above.

Finally run your project setting the property jmeter-home to the appropriate folder in your computer:

  ant "-Djmeter-home=C:\jmeter" -f build.xml
<project default="all">
  <!-- ant-jmeter.jar comes with jmeter, be sure this is the release you have -->
  <path id="ant.jmeter.classpath">
    <pathelement
       location="${jmeter-home}/extras/ant-jmeter-1.1.1.jar" />
  </path>
  <taskdef
    name="jmeter"
    classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"
    classpathref="ant.jmeter.classpath" />
  <target name="clean">
    <delete dir="results"/>
    <delete file="jmeter.log"/>
    <mkdir dir="results/jtl"/>
    <mkdir dir="results/html"/>
  </target>
  <target name="test" depends="clean">
    <jmeter
       jmeterhome="${jmeter-home}"
       resultlogdir="results/jtl">
      <testplans dir="test/jmeter" includes="*.jmx"/>
      <property name="jmeter.save.saveservice.output_format" value="xml"/>
    </jmeter>
  </target>
  <!-- This is not needed for the plugin, but it produces a nice html report
       which can be saved usin jenkins's archive artifact feature -->
  <target name="report" depends="test">
    <xslt
       basedir="results/jtl"
       destdir="results/html"
       includes="*.jtl"
       style="${jmeter-home}/extras/jmeter-results-detail-report_21.xsl"/>
  </target>
  <target name="all" depends="test, report"/>
</project>

Errors

If you get the error `java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart` when the plugin generates the charts, is because you have running an XServer in the jenkins machine. Set the property `-Djava.awt.headless=true` when starting your servlet container. Note that this normally does not happen when running the embedded servlet container Jenkins is packaged with (Jetty).

https://groups.google.com/forum/#!topic/jenkinsci-users/o_Dr7Tn0i3U

Compiling

To use the latest plugin release, you need to download, compile and install by hand. To do it, you need subversion, maven and java installed in your computer.

$ git clone https://github.com/jenkinsci/performance-plugin.git performance
$ cd performance
$ mvn package
$ cp target/performance.hpi <path_to_jenkins>/data/plugins

Remember to restart jenkins in order to use reload the plugin.
You could read more about plugins readingh these pages :

TODO:

Adding other report formats.

Labels

Edit
plugin-report plugin-report Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Add Comment