Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Integrate Gatling with Jenkins #594

Closed
slandelle opened this Issue · 21 comments

6 participants

@slandelle
Owner

and have reports display inside Jenkins

@skuenzli

I have used https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin and found it useful, even though its analysis and charting capabilities are quite basic.

Are you thinking of:
1. a Gatling-specific plugin for Jenkins -- which would give maximum flexibility, extensibility, and ability to showcase existing reports
2. addition of Gatling support to the Jenkins Performance plugin -- might be good advertising as perf plugin has over 2500 users
3. supporting generation of JUnit (xml) or JMeter result summary files, which the Jenkins Performance can consume -- JUnit's format is the veritable lingua-franca of test results

The Jenkins Performance plugin assumes that a reporting source will provide the ability to drill down to an individual request execution. Given Gatling's ability to execute many requests, there is a decent chance the Jenkins Performance plugin will be overwhelmed. It should be easy enough to generate a JUnit result file and find out.

if interested in the Jenkins Performance plugin, you may want to start with the PerformanceReport and UriReport classes at https://github.com/jenkinsci/performance-plugin/tree/master/src/main/java/hudson/plugins/performance

@slandelle
Owner

Hi Stephen,

Honestly, I couldn't find time to dig in.
At this time, you know more about this topic than me.
I'll catch up when I'll be back.

Cheers!

@nremond
Collaborator

@skuenzli, I think it's a good idea to work on an integration with the Performance plugin.
The JUnit report format may be more universal and then fit all non-HTTP but the JMeter has extra interesting informations.

So, if we want to try it, we just have to be able to generate a report the same way @slandelle added support for a CSV report, right ?

@rsertelon

@nire Yep, if you wan to try, that's the way to do it.

It's actually a good idea to take advantage of another plugin, if we need more flexibility, later, we can still create our own plugin.

@skuenzli

Sounds good. Let's start with integrating via the Performance plugin. The csv work sets us up well.

@rsertelon

Okay, great :)

@rborer

Hi,

I've recently patched Jenkins HTML publisher plugin so that it's able to publish the reports generated by gatling. This is needed as each run store the reports in a specific folder. Now with my patch it is possible to publish such reports so that they are available directly from Jenkins, and it works pretty well.

The pull request can be found here if you're interested: jenkinsci/htmlpublisher-plugin#5

Looking forwards for the Performance plugin integration.

Cheers.

@nremond
Collaborator

@rborer thx mate

@nremond
Collaborator

I started to work on exporting a "JMeter result summary files", but I start to think that it's a bit cumbersome to have two summary files.

On the other hand, it's easy to add a parser for the "stats.tsv" file format that @slandelle did : https://github.com/nire/performance-plugin/tree/gatling_integration

@slandelle & @skuenzli : what do you think of having a summary report in JSON intead of TSV ?

@rsertelon

@nire, what is the summary report you're talking about? ^^

@nremond
Collaborator

@BluePyth : see #593

@rsertelon

I think we cannot replace TSV by JSON. If you really want JSON, we might generate it too ^^

TSV format is really useful for reporting with softwares like Excel, JSON should be translated before being used.

Maybe we can add an option to generate this JSON file in the command line such as --json-reports ? Or simply a -ci (--continuous-integration) that would trigger specific behaviours needed for Jenkins reporting.

@skuenzli
@nremond
Collaborator

OK. So, I now have a parser to our TSV files : https://github.com/nire/performance-plugin/tree/gatling_integration

But, I think, that we need to merge with jenkinsci/performance-plugin#12 to be able to have a correct result. In the current code, the setSummarizerMin(), setSummarizerMax() etc are useless are these values are not used in the graphs.

@nremond
Collaborator

As @rborer pull-request has been merged, I started to write a wiki page : https://github.com/excilys/gatling/wiki/Jenkins

@slandelle
Owner

Writing our own Jenkins plugin will take some time, so we're moving it to 1.4.0.

@slandelle
Owner

Request sent for moving the repo to the Jenkins infrastructure:
https://groups.google.com/forum/?hl=en&fromgroups=#!topic/jenkinsci-dev/NpCh29KDeMc

Procedure is described here:
https://wiki.jenkins-ci.org/display/JENKINS/Extend+Jenkins

@slandelle
Owner

Wow, that was blazing fast:
https://github.com/jenkinsci/gatling-plugin

@pdalpra @gcoutant @blemale Please join the Jenkins Dev ML.

@pdalpra
Owner

Done, asking for commit rights right now !

@pdalpra
Owner

Wiki page created on jenkins-ci.org : https://wiki.jenkins-ci.org/display/JENKINS/Gatling+Plugin

@slandelle slandelle closed this
@pdalpra pdalpra was assigned
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.