Qpid
  1. Qpid
  2. QPID-3977

Add charting framework for new distributed tests framwork

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.17
    • Component/s: Java Tests
    • Labels:
      None

      Description

      We need a flexible charting mechanism to allow the performance figures produced by the new distributed test tool (QPID-3936) to be readily understood. This new Java module uses JFreeChart to produce charts from the CSV files produced by the tool.

      As the licences of the dependencies of this module are not Apache 2.0 compatible, the new module perftests/visualisation-jfc is optional and is not part of the standard Java build nor does it form part of the distributables. If the user wishes to use this module, they must download the JARs themselves. This is the same approach as used by the bdbstore.

      The following build command will download the optional components and perform the build:

      ant build test -Ddownload-csvjdbc=true -Ddownload-jfree=true -Dmodules.opt=perftests/visualisation-jfc
      

        Issue Links

          Activity

          Hide
          Robbie Gemmell added a comment -

          Resolving, new changes = new JIRA.

          Show
          Robbie Gemmell added a comment - Resolving, new changes = new JIRA.
          Hide
          Philip Harvey added a comment -

          attached patch to include baseline data in charts

          Show
          Philip Harvey added a comment - attached patch to include baseline data in charts
          Hide
          Keith Wall added a comment -

          Patches applied.

          Show
          Keith Wall added a comment - Patches applied.
          Hide
          Philip Harvey added a comment -

          attached patch to fix problems in previous one

          Show
          Philip Harvey added a comment - attached patch to fix problems in previous one
          Hide
          Philip Harvey added a comment -

          attached patch to tidy up some aspects of chart generation

          Show
          Philip Harvey added a comment - attached patch to tidy up some aspects of chart generation
          Hide
          Keith Wall added a comment -

          Phil's original review comments still stand. Setting to rejected until this work is done.

          Show
          Keith Wall added a comment - Phil's original review comments still stand. Setting to rejected until this work is done.
          Hide
          Keith Wall added a comment -

          Patches applied.

          Show
          Keith Wall added a comment - Patches applied.
          Hide
          Keith Wall added a comment -

          Hi Phil, I reviewed you patch and had no comments.

          Show
          Keith Wall added a comment - Hi Phil, I reviewed you patch and had no comments.
          Hide
          Philip Harvey added a comment -

          ChartingUtil now generates chart-summary.html file to facilitate chart png browsing from CI server.

          This patch is intended to be applied on top of the one that Keith already attached to this JIRA.

          Show
          Philip Harvey added a comment - ChartingUtil now generates chart-summary.html file to facilitate chart png browsing from CI server. This patch is intended to be applied on top of the one that Keith already attached to this JIRA.
          Hide
          Keith Wall added a comment - - edited

          Add support for 3D bar/line charts; XY line charts, chart subtitles, and add Main-Class/Class-Path manifest entries to visualisation JAR to allow for easy use from command line.

          Patch uploaded for safe keeping.

          Show
          Keith Wall added a comment - - edited Add support for 3D bar/line charts; XY line charts, chart subtitles, and add Main-Class/Class-Path manifest entries to visualisation JAR to allow for easy use from command line. Patch uploaded for safe keeping.
          Hide
          Philip Harvey added a comment -

          I've added code review comments for you to consider.

          Show
          Philip Harvey added a comment - I've added code review comments for you to consider.
          Hide
          Philip Harvey added a comment -

          Code reviewed and all looks fine.

          • I didn't find running ChartUtil very intuitive. It seems that the command line needs to be something like:

          java -cp ".:$

          {QPID_HOME}

          /lib/*" -DcsvCurrentDir=/location/of/csv/files org.apache.qpid.disttest.charting.ChartingUtil chart-defs=/location/of/chartdefs/

          Is there a reason why the csv directory is specified with a system property rather than a command line argument?

          • I do think it would be worth modifying ChartUtils to print usage if it's run with no/invalid args.
          • On a related point, I don't think command line option "outputdir" is used anywhere.
          Show
          Philip Harvey added a comment - Code reviewed and all looks fine. I didn't find running ChartUtil very intuitive. It seems that the command line needs to be something like: java -cp ".:$ {QPID_HOME} /lib/*" -DcsvCurrentDir=/location/of/csv/files org.apache.qpid.disttest.charting.ChartingUtil chart-defs=/location/of/chartdefs/ Is there a reason why the csv directory is specified with a system property rather than a command line argument? I do think it would be worth modifying ChartUtils to print usage if it's run with no/invalid args. On a related point, I don't think command line option "outputdir" is used anywhere.

            People

            • Assignee:
              Keith Wall
              Reporter:
              Keith Wall
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development