Plot and PerformanceReport plugin utilization with Jenkins 2.xx and Pipeline Scripts

498 views
Skip to first unread message

ribeiro...@gmail.com

unread,
Mar 14, 2017, 7:10:25 AM3/14/17
to codename-taurus
Hi everyone,

We're not being able to use either the Plot or PerformanceReport plugins with Jenkins 2.xx and the Pipeline Scripts.
Looking at the compatibility of plugins with the new jenkins pipeline, we are running short of options to show taurus/jmeter/blazemeter test results.


Do you guys recommend any alternative or approach?  (without reverting back to non-pipeline script Jenkins :) )

Thanks in advance,
Pedro Ribeiro

Andrey Pokhilko

unread,
Mar 15, 2017, 3:43:39 AM3/15/17
to codenam...@googlegroups.com

Hi,

The only thing I can suggest here is to wait. We have plans to fix Performance Publisher plugin in the nearest future, but it takes time (we're working on JMeter 3.2 all plugins compatibility).


Andrey Pohilko
Chief Scientist
P: +7 (909) 631-21-69
BlazeMeter Inc.
--
You received this message because you are subscribed to the Google Groups "codename-taurus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codename-taur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/codename-taurus/e3936af6-f415-4ff9-8744-4b18fed71d1d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

ribeiro...@gmail.com

unread,
Mar 15, 2017, 5:41:42 AM3/15/17
to codename-taurus, andrey....@contractor.ca.com
Thanks Andrey.
I will check with our Blazemeter account manager (I work for a company that has a Blazemeter corporate account) to see if we can help you guys beta test such plugin.
We really need it with urgency.

Thanks,
Pedro

Andrey Pokhilko

unread,
Mar 25, 2017, 11:33:32 AM3/25/17
to ribeiro...@gmail.com, codename-taurus

Hi,

There was Performance Plugin release 2.1 which added support for Taurus summary files. Worth looking at for you.


Andrey Pohilko
Chief Scientist
P: +7 (909) 631-21-69
BlazeMeter Inc.

Pedro Ribeiro

unread,
Mar 27, 2017, 7:50:43 AM3/27/17
to Andrey Pokhilko, codename-taurus
Thanks Andrey, however it looks like it still isn't compatible with Jenkins Pipeline script code, so I can't use it myself yet :(

Craig Rodrigues

unread,
Mar 27, 2017, 4:30:23 PM3/27/17
to codename-taurus, andrey....@contractor.ca.com, ribeiro...@gmail.com
Pedro,

I was able to successfully run JMeter in a Jenkins Pipeline script,
and then use Pipeline Plugin 2.1 in the same Jenkins Pipeline script to process the results.

What problem did you have?

--
Craig

Pedro Ribeiro

unread,
Mar 27, 2017, 4:33:30 PM3/27/17
to Craig Rodrigues, codename-taurus, andrey....@contractor.ca.com
Hi Craig,

Are you able to provide a Jenkins Pipeline syntax example that we can use as a base to try to get it to work?
We tried multiple combinations and we always ended up getting null pointer exceptions.

its not one of the supported plugins, but if you got it to work, we would be thankful to get a working example!

Thanks!
Pedro

Craig Rodrigues

unread,
Mar 27, 2017, 6:16:23 PM3/27/17
to codename-taurus, crod...@gmail.com, ribeiro...@gmail.com
Pedro,

Yes, I was able to get it to work.  COMPATIBILITY.md should be used just as a guide,
since it is not accurately updated for every third party Jenkins plugin.

My pipeline looks something like this:

node {
    stage
("Checkout scripts from git") {
         git  url
:'someurl'
   
}

    stage
("Run JMeter command") {
        jmeter
--version
        jmeter
-n -J jmeter.save.saveservice.output_format=xml -t sample.jmx -l jmeter.jtl -j jmeter.log
       
"
    '''
    }

    stage("
Process JTL logs") {
        println "
Test processing logs"
        /*
         * Use the Performance Plugin to process the .jtl log file.
         */
        performanceReport compareBuildPrevious: true,
                          configType: 'ART',
                          errorFailedThreshold: 100,
                          errorUnstableResponseTimeThreshold: '',
                          errorUnstableThreshold: 100,
                          failBuildIfNoResultFile: false,
                          modeOfThreshold: false,
                          modePerformancePerTestCase: true,
                          modeThroughput: true,
                          nthBuildNumber: 0,
                          parsers: [[$class: 'JMeterParser', glob: '**/*.jtl']],
                          relativeFailedThresholdNegative: 0,
                          relativeFailedThresholdPositive: 0,
                          relativeUnstableThresholdNegative: 0,
                          relativeUnstableThresholdPositive: 0
    }

    stage("
Archive log files") {
        archiveArtifacts '**/*.jtl **/*.log'
    }

    stage("
Cleanup") {
        // Wipe the workspace so we are building completely clean
        deleteDir()
    }
}


--
Craig

Craig Rodrigues

unread,
Mar 27, 2017, 7:32:35 PM3/27/17
to codename-taurus, ribeiro...@gmail.com
Woops, I made a typo in my last e-mail when I cut and paste my pipeline example.

You need something like:

node {
 stage
("Checkout scripts from git") {
 git url
:'someurl'
 
}

 stage
("Run JMeter command") {

 sh
'''

ribeiro...@gmail.com

unread,
Mar 28, 2017, 8:45:26 AM3/28/17
to codename-taurus, ribeiro...@gmail.com
Thanks Craig.
I will soon give it a try and let you know how it goes.
I'm also keen to try the new TaurusParser released with version 2.1
Reply all
Reply to author
Forward
0 new messages