GithubHelp home page GithubHelp logo

jenkinsci / plot-plugin Goto Github PK

View Code? Open in Web Editor NEW
57.0 106.0 90.0 762 KB

Jenkins plot plugin

Home Page: https://plugins.jenkins.io/plot/

License: Other

Java 89.04% HTML 10.96%
jenkins jenkins-pipeline java maven hacktoberfest

plot-plugin's Introduction

Plot plugin

codecov Jenkins Plugins GitHub Release Jenkins Plugin installs

Description

This plugin provides generic plotting (or graphing) capabilities in Jenkins.

This plugin will plot one or more single values variations across builds in one or more plots. Plots for a particular job (or project) are configured in the job configuration screen, where each field has additional help information. Each plot can have one or more lines (called data series). After each build completes the plots' data series latest values are pulled  from Java properties file(s), CSV file(s), or XML file(s) via an XPath (which you should have generated during the build) somewhere below your workspace. Data for each plot is stored in a CSV file within the job's root project directory.

It can generate various kind of plots, including Area, Bar, Line, Stacked Bar, Waterfall, etc.

Here is an example of the plots generated by this plugin:

plot-example

Configuration

Currently supported parameters

The currently supported parameters are:

  • width (int, default: 750) The width of the plot in pixels.
  • height (int, default: 450) The height of the plot in pixels.
  • rightBuildNum (int, default: 2^38 - 1) The right-most build number on the plot.
  • hasLegend (boolean, default: true) Whether or not the plot has a legend.
  • urlNumBuilds (string, default: 2^38 - 1) Number of builds back to show on this plot from URL.
  • urlTitle (string, default: "") Title of plot from URL.
  • urlStyle (string, default: "") Style of plot from URL.
  • urlUseDescr (boolean, default: false) Use description flag from URL.
  • title (string, default: "") Title of plot.
  • yaxis (string, default: "") Y-axis label.
  • series (list) List of data series.
  • group (string) Group name that this plot belongs to.
  • numBuilds (string, default:"") Number of builds back to show on this plot. An empty string means all builds. Must not be "0".
  • csvFileName (string, default: "$ROOT_DIR/plot-XXXX.csv") The name of the CSV file that persists the plots data. The CSV file is stored in the projects root directory. This is different from the source CSV that can be used as a source for the plot.
  • csvLastModification (long, default: "last modified date") The date of the last change to the CSV file.
  • style (string, default: "line") Style of plot: line, line3d, stackedArea, stackedBar, etc.
  • useDescr (boolean, default: false) Whether or not to use build descriptions as X-axis labels.
  • keepRecords (boolean, default: false) Keep records for builds that were deleted.
  • exclZero (boolean, default: false) Whether or not to exclude zero as default Y-axis value.
  • logarithmic (boolean, default: false) Use a logarithmic Y-axis.
  • yaxisMinimum (string, default: "") Minimum y-axis value.
  • yaxisMaximum (string, default: "") Maximum y-axis value.

For a full list of parameters the best place to view is Plot.java class.

Pipeline job configuration

You can generate the required Scripted Pipeline syntax via the Snippet Generator by choosing the "plot: Plot build data" step.

Below you can find sample configuration which is auto-generated using Snippet Generator.

plot csvFileName: 'plot-8e54e334-ab7b-4c9f-94f7-b9d8965723df.csv', 
        csvSeries: [[
                            file: 'data.csv',
                            exclusionValues: '',
                            displayTableFlag: false,
                            inclusionFlag: 'OFF',
                            url: '']],
        group: 'Plot Group',
        title: 'Plot Title',
        style: 'line',
        exclZero: false,
        keepRecords: false,
        logarithmic: false,
        numBuilds: '',
        useDescr: false,
        yaxis: '',
        yaxisMaximum: '',
        yaxisMinimum: ''
  • csvFileName - autogenerated value, but you might want to change it to something more descriptive for your case.
  • file - source file for plot generation (relative to workspace)

JIRA issues

If you have any proposals/bug reports, please create an issue on Jenkins JIRA.

Changelog

See the Github releases page.

Old release notes

This is a backup of old release notes from wiki.

Version 2.1.1 (Jun 14, 2019)
Version 2.1.0 (Jun 4, 2018)
Version 2.0.5 (May 15, 2018)
  • Update values table CSS style and number formatting (PR-47).
Version 2.0.4 (May 5, 2018)
  • Fix chart style value comparison, STACKED_AREA in particular (JENKINS-50924).
Version 2.0.3 (January 24, 2018)
Version 2.0.2 (January 3, 2018)
  • Fixed ConcurrentModificationException in PlotBuildAction.java (JENKINS-48465)
  • Fixed typo's in help files (JENKINS-48530)
  • Moved plugin description to wiki (JENKINS-48537)
  • Configured Checkstyle and reformatted the project according to the rules
Version 2.0.0 (November 2, 2017)
  • Added support for Pipeline Plugin (JENKINS-35571).
    • 🔴 Note: Might break compatibility if you update from 1.X version. Update carefully! 🔴
Version 1.11 (April 26, 2017)
  • Final Release: includes all PRs and fixes up to now
Version 1.9 (Mar 15, 2015)
Version 1.8 (Sep 28, 2014)
Version 1.7 (Mar 11, 2014)
  • Fixed issues parsing XML files, introduced in version 1.6 (JENKINS-21493).
Version 1.6 (Jan 16, 2014)
Version 1.5 (Jul 10, 2011)
Version 1.4 (Nov 21, 2010)
Version 1.3 (Jul 20, 2010)
  • Configurable graph style for each plot.
  • Read data from XML files (JENKINS-2796).
  • Read data from CSV files (JENKINS-2899).
  • Update code for more recent Hudson.

plot-plugin's People

Contributors

alanharder avatar cjhaug avatar cottsay avatar daniel-beck avatar dependabot[bot] avatar drewrothstein avatar ericbn avatar gjabouley-invn avatar gounthar avatar jmmeessen avatar kgermanibm avatar light avatar lvotypko avatar markewaite avatar markus-franke avatar marob avatar ndeloof avatar offa avatar olivergondza avatar pjquirk avatar qrsty avatar radekdoulik avatar reinholdfuereder avatar rmstyrczula avatar skelliam avatar sschuberth avatar timja avatar tyuki39 avatar uhafner avatar vgaidarji avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.