Skip to content
scripts to generate different statistics on jenkins usage
Branch: master
Clone or download
Pull request Compare This branch is 151 commits ahead of imod:master.
Latest commit 9f548d6 Feb 7, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
pluginversions-static don't report 0s Jan 10, 2019
.gitignore Adding IDEA files to gitignore May 13, 2016
DBHelper.groovy Generate JVM version stats per month Oct 26, 2016
Helper.groovy change some dimenions in the graphs Jan 6, 2012
InstanceJVM.groovy Generate JVM version stats per month Oct 26, 2016
InstanceMetric.groovy Generate JVM version stats per month Oct 26, 2016
JenkinsMetricParser.groovy Always use english locale for date parsing Sep 8, 2018
Jenkinsfile Timestamp the console log so we can have a better sense of hangs. Jul 11, 2017 Fix outdated build status link Nov 24, 2017
ServletContainerByVersion.groovy Added a script used to compute version/container comparison May 30, 2014
collectNumbers.groovy . May 8, 2017
createJson.groovy Fix version for Java 9, and add all existing versions Feb 7, 2019
download.groovy upgrade sqlite-jdbc to 3.16.1 May 8, 2017 Add jvms.json to the list Nov 4, 2016 Add index file for pluginversions directory Sep 6, 2017
generateStats.groovy Add top plugins with 2500+ installations Aug 2, 2016
generateVersionDistribution-template.html Update jQuery to 3.3.1 Sep 8, 2018
generateVersionDistribution.groovy Move CSS and JS into external files Sep 8, 2018
parseUsage.groovy Stop using a distinct query when we can just use instCnt keys Apr 3, 2018 Generate HTML tables for plugin/core version distributions Jul 8, 2017

Jenkins Usage Statistics

Build Status

These scripts generate various data from existing census JSON files collected by the infrastructure. More specifically:


this scipts will create the following files:

  • multiple SVG graphics showing different statistcs about the usage of jenkins

  • a file <plugin-name>.stats.jsonfor every plugin, containing the following data (example: git-plugin - git.stats.json ):

    • name: the name of the plugin (as used in the filename)
    • installations: the number of installations for a given month
    • installationsPercentage: the percentage of installations
    • installationsPerVersion: the number of plugin installations for for each plugin version
    • installationsPercentagePerVersion: the percentage of installations a specifig version of the plugin makes up
  • installations.json: the number of jenkins installations by the jenkins core version

  • capabilities.json: a reverse cumulation of the installations.json to assist plugin developers in choosing base versions for there further plugin development



  1. you need to download the raw data (*.json.gz) from

    $> groovy download.groovy [pwd]

SVG (optional)

  • generate the graphs ... you might have to increase the memory: JAVA_OPTS="-Xmx4000M"
$> export LANG=en
$> groovy generateStats.groovy

The final SVGs will be in [workspace]/target/svg

JSON (optional)

  1. collect the data from the raw json format and store it into a local SQLite database
$> export LANG=en
$> groovy collectNumbers.groovy`
  1. generate the fine grained data set (json) for each plugin

    $> groovy createJson.groovy

The final json files will be in [workspace]/target/stats - these files have to be uploaded to a webserver to make them available for the confluence plugin.

All the scripts can be reexecuted in case a failure happens, e.g. the download will only download the files he needs and collecting the numbers will only happen on the raw data which is not imported yet.

You can’t perform that action at this time.