Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-43503

Performance plugin 2.2 breaks glob file finding

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • performance-plugin
    • None
    • Jenkins 2.46 LTS on RHEL

      Since updating from 2.1 to 2.2, glob lookups are failing for me.

      For example, in the "Publish performance test result report" box, in the JMeter "Report files" field, I have it configured to include "*/results/.jtl"

      This has worked for years

      However, as of the 2.2 update, I'm now getting this:

       

      ERROR: Step ‘Publish Performance test result report’ aborted due to exception:
      
      [java.io.FileNotFoundException|http://stacktrace.jenkins-ci.org/search?query=java.io.FileNotFoundException]
      
      : /var/lib/jenkins/workspace/job-name/HOST/[redacted]/**/results/*.jtl (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at java.io.FileReader.<init>(FileReader.java:72) at hudson.plugins.performance.parsers.ParserDetector.detect(ParserDetector.java:21) at hudson.plugins.performance.parsers.ParserFactory.getParser(ParserFactory.java:26) at hudson.plugins.performance.PerformancePublisher.getParsers(PerformancePublisher.java:439) at hudson.plugins.performance.PerformancePublisher.perform(PerformancePublisher.java:481) at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720) at hudson.model.Build$BuildExecution.post2(Build.java:186) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665) at hudson.model.Run.execute(Run.java:1753) at hudson.matrix.MatrixRun.run(MatrixRun.java:146) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:405)
      

      If I downgrade the plugin, it starts working as expected

      FWIW, this is on a Matrix style job.

      If I set the "Report files" field to include a specific file name, rather than glob-style, it works.

      So it looks like something in the latest release broke glob lookups, at least on Matrix jobs (I have not tested a non-matrix job)

        1. default1.jmx
          5 kB
        2. jmeter_test_results.jtl
          15 kB
        3. res.csv
          0.6 kB
        4. save result config.png
          save result config.png
          75 kB

          [JENKINS-43503] Performance plugin 2.2 breaks glob file finding

          I am using jmeter apache-jmeter-2.11_KL1, is that why am missing those columns in my jtl? jmeter_test_results.jtl

          Ranadeep Palle added a comment - I am using jmeter apache-jmeter-2.11_KL1, is that why am missing those columns in my jtl? jmeter_test_results.jtl

          Yes, but you can set JMeter property to enable those columns to be written into CSV. Or use GUI checkbox to enable it.

          Andrey Pokhilko added a comment - Yes, but you can set JMeter property to enable those columns to be written into CSV. Or use GUI checkbox to enable it.

          Artem Fedorov added a comment -

          Also your CSV file must contains CSV header, this property also can be enable in JMeter

          Artem Fedorov added a comment - Also your CSV file must contains CSV header, this property also can be enable in JMeter

          what are all the CSV headers those have to be in JTL? could you please provide all the headers

          Ranadeep Palle added a comment - what are all the CSV headers those have to be in JTL? could you please provide all the headers

          It's JMeter that writes headers. You just need to configure it to include headers into CSV files.

          Andrey Pokhilko added a comment - It's JMeter that writes headers. You just need to configure it to include headers into CSV files.

          Artem Fedorov added a comment -

          It is a simple default1.jmx test, that generate csv result file res.csv with a minimum set of columns.
          More config rows your can enable here

          Artem Fedorov added a comment - It is a simple default1.jmx test, that generate csv result file res.csv with a minimum set of columns. More config rows your can enable here

          It work, thank you

          Yannick FRINDEL added a comment - It work, thank you

          Marc Esher added a comment -

          Hi there. When do you expect to release this to the update center?

          Thanks,

          Marc

          Marc Esher added a comment - Hi there. When do you expect to release this to the update center? Thanks, Marc

          We have to polisth performance test executing feature, then we'll release it. No ETA, sorry

          Andrey Pokhilko added a comment - We have to polisth performance test executing feature, then we'll release it. No ETA, sorry

          Artem Fedorov added a comment - - edited

          Fixed: add Ant pattern for glob
          https://github.com/jenkinsci/performance-plugin/pull/96
          Available since 3.0 version

          Artem Fedorov added a comment - - edited Fixed: add Ant pattern for glob https://github.com/jenkinsci/performance-plugin/pull/96 Available since 3.0 version

            artem_fedorov Artem Fedorov
            marcesher Marc Esher
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: