Plot Plugin

Plugin Information

Plugin ID plot
Latest Release 1.6-h-1
Latest Release Date Jan 4, 2013
Sources Github
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla

This plugin provides generic plotting (or graphing) capabilities in Hudson.
This plugin will plot data across builds. Plots for a particular job (or project) are configured in the job configuration screen, where each field has additional help information. Data for the plots are pulled from Java properties files in your build workspace after each build completes. Each plot can have one or more lines (called data series). Data for each plot is stored in a CSV file within the job's root project directory.

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

Example Usage to generate detailed PMD reports

Attached is a Perl script which generates more detailed "summaries" out of PMD report files. We use this for several code analysis projects, all named trunk.codeanalysis.prefix.

To have all resulting plots at one page, give all Plots the same plot group. Because each code quality has its very own range, define each on a separate plot, not as an additional data series.

Change Log

Version 1.4 (Oct 21, 2010)
Version 1.3 (Jul 20, 2010)
  • Configurable graph style for each plot.
  • Read data from XML files (issue #2796).
  • Read data from CSV files (issue #2899).
  • Update code for more recent Hudson.
Version 1.2 (Sep 24, 2008)

Labels:

plugin-report plugin-report Delete
plugin-ui plugin-ui Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Dec 27, 2009

    Richard says:

    I don't see any perl script here? How do I know what format of data file to gen...

    I don't see any perl script here? How do I know what format of data file to generate?

    1. Jan 20, 2010

      Ray Thompson says:

      The explanation of the file format is found in configuration of the job. Click o...

      The explanation of the file format is found in configuration of the job. Click on the blue help icon for "Data series file" and you will see:

       Mandatory. Specifies the path to the Java property file (key=value pairs), relative to the workspace root, that contains the data value for this data series. The file must contain a YVALUE property and may optionally contain a URL property. If present, the URL will be opened when the data point on the plot is clicked.
      The specification of this file can use wildcards likebuild/report/*/report.properties but only the first file resolved by the wildcard will be used. See the @includes of Ant fileset for the exact format.
      For example, a properties file might look like:
        YVALUE=3.342
        URL=http://foo.bar/
      
  2. Feb 23, 2010

    Cees Bos says:

    I have 2 questions: When will version 1.3 be released? What format is require...

    I have 2 questions:

    • When will version 1.3 be released?
    • What format is required for XML or CSV files? It is not described in the tickets. Only properties file format is described.
  3. Mar 09, 2010

    Charles Chan says:

    Is anyone maintaining this plugin? When will an next update be released?

    Is anyone maintaining this plugin?

    When will an next update be released?

  4. Jul 08, 2010

    Vladimir Jovic says:

    It is not possible to adjust the plot. For example, I need a difference between ...

    It is not possible to adjust the plot. For example, I need a difference between builds. Is there a way to do this?

  5. Sep 15, 2010

    Brian Roe says:

    Suggestions for version 1.4:  1.  Make the Plot plugin work for maven...

    Suggestions for version 1.4: 

    1.  Make the Plot plugin work for maven-only builds.  The "Plot build data" checkbox isn't visible on a maven-only build.

    2.  Embed the help text into this page to make it clearer how to configure the plugin.  Some working examples for CSV/XML/properties files would be great.

    3.  Add a 'debug' option that prints out some information when the data series file is being evaluated for plotting data, to help determine why each data element is or is not showing up on the plots.

  6. Nov 06, 2010

    Riccardo Casatta says:

    i would like to configure the label of the x-axis point. Currently only day and...

    i would like to configure the label of the x-axis point.

    Currently only day and build number is displayed, i would like to add hour and/or minutes

  7. Nov 09, 2010

    Riccardo Casatta says:

    I would also like a "sampling every X builds" option on signle graph. So there ...

    I would also like a "sampling every X builds" option on signle graph.
    So there will be different time slice for x-values on the same job

  8. Nov 18, 2010

    Timi says:

    It is possible to show the plot in the start screen of the job? Like the plot in...

    It is possible to show the plot in the start screen of the job? Like the plot in "Tast Scanner Plugin" or "Warnings Plugin".

    Thanks for answers.

  9. Nov 23, 2010

    Per Rovegård says:

    1.4 breaks my plots. The "Jump to" dropdown is now empty. The job console shows ...

    1.4 breaks my plots. The "Jump to" dropdown is now empty. The job console shows that the plots are recorded/saved though.

    Downgrading to 1.3 fixes the problem!

  10. Jul 05, 2011

    Terry Guo says:

    Hi, This is a great helpful plugin and I can make it plot data from CSV file. Bu...

    Hi,
    This is a great helpful plugin and I can make it plot data from CSV file. But because I am a newbie to XML and Java, I cannot make it plot data from XML file using XPATH expression. Could anybody help me? Thanks in advance.

    My data file called "book.xml" and its content are as below:
    <?xml version="1.0" encoding="ISO-8859-1"?>

    <bookstore>

    <book>
    <title lang="eng">Harry Potter</title>
    <price>29.99</price>
    </book>

    <book>
    <title lang="eng">Learning XML</title>
    <price>39.95</price>
    </book>

    </bookstore>

    In Jenkins I specified the Data series file is book.xml and chose "Load data from xml file using xpath". Then I specify the "XPath Result type" is "Number" and set the XPath Expression is "/bookstore/book/price". And then save and perform build. But I got an empty chart. I want a chart about price. What should I do? Thanks for any help.

  11. Jul 14, 2011

    Louis Marceau says:

    I really like this plug-in and I was looking for source code to extend it but co...

    I really like this plug-in and I was looking for source code to extend it but could not find any. I think the following would be a great addition to this plugin (or maybe create a new plugin based on this one).

    Consider the following situation. During the build process, testing takes place, code coverage is calcuated and exported to a csv file. A single csv file is used to store all the code coverage for all classes. It is easy to see that we could have hundreds of rows, one for each class. With the current Plot plugin, as far as I am aware, if I wanted to plot the code coverage for each class from the csv files, each row needs to be in a separate file and I would have to create a series or plot for each file - that is a lot of undesired configuration.

    What would be ideal, is to be able to configure the plugin to accept a multi-row csv file and specify a column with potentially unique data (like an id or class name) to use for breaking out the rows in to series.

    For example, given the following data:

    Assembly Short Name Coverage Quota
    AM,AMI.Common.dll 14.1
    LabVIEWBinReader.dll 18.4
    NITStatusDriver.dll 70
    Trinity.NetworkManager.dll 46.5

    If this was in a csv file, and the plot plugin was configured to use this file, plot the Coverage Quota on the y-axis, and use the Assembly Short Name as the series identifier, with one configuration we would end up with one plot with four series on it.

  12. Aug 16, 2011

    Vlad says:

    Please, provide me with some .xml file where i can see how to create such .xml f...

    Please, provide me with some .xml file where i can see how to create such .xml files with data for 2-3 plots in it. Like its shown on the top of the page.