Visually explore your JMH benchmarks on Jenkins!




Version Archive

The plugin makes use of jmh-visualizer project. The version number correspond to its releases. So jmh-report-plugin 0.4.2 makes use of jmh-visualizer 0.4.2.


How to's

Setup in pipeline project

You can setup jmh-report as a pipeline step:

jmhReport 'build/reports/jmh/result.json'


step([$class: 'RunPublisher', resultPath: 'build/reports/jmh/result.json'])

A complete pipeline could look as simple as that:

node {
    checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: '']]])
    sh './gradlew jmh -PincludePattern=".*DelegationBenchmark.*"'
    jmhReport 'caffeine/build/reports/jmh/results.json'

Setup with Job DSL

jmhReport { resultPath('build/reports/jmh/result.json') }

A complete job-dsl example could look like that:

job('example-1') {
    steps {
        scm {
            git("", "master")
        shell('./gradlew jmh -PincludePattern=".*DelegationBenchmark.*"')
        publishers {
            jmhReport {

Setup in regular project

You can setup jmh-report - i.e. in a freestyle project - by adding it as a post-build action.