Uploaded image for project: 'Java Mission Control'
  1. Java Mission Control
  2. JMC-8293

Incorrect JFR view stats P99 is higher than max GC pause.

XMLWordPrintable

    • generic
    • generic

      ADDITIONAL SYSTEM INFORMATION :
      Observed on os x and linux using 21.0.5 and 23.0.1

      A DESCRIPTION OF THE PROBLEM :
      I observed that `jfr view gc-pauses` produces incorrect stats. For example:

      ```
      GC Pauses
      ---------

      Total Pause Time: 11.2 s

      Number of Pauses: 135

      Minimum Pause Time: 20.9 ms

      Median Pause Time: 57.0 ms

      Average Pause Time: 75.4 ms

      P90 Pause Time: 141 ms

      P95 Pause Time: 197 ms

      P99 Pause Time: 2.59 s

      P99.9% Pause Time: 1.71 s

      Maximum Pause Time: 1.71 s
      ```

      Note that P99 is reported as 2.59 s, which is longer than the reported max, 1.71 s.

      Examining the event stream programmatically and computing the same stats independently produces the following:

      ```
      Total Pause Time: 11111 ms
      Number of Pauses: 135 ms
      Minimum Pause Time: 20 ms
      Median Pause Time: 57 ms
      Average Pause Time: 82.3037037037037 ms
      P90 Pause Time: 135 ms
      P95 Pause Time: 172 ms
      P99 Pause Time: 334 ms
      P99.9% Pause Time: 1710 ms
      Maximum Pause Time: 1710 ms
      ```

      I believe the event data is correct and there is a bug in the view summarizing code.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Create a JFR recording.
      2. Execute `jfr view gc-pauses recording.jfr`
      3. See that some of the stats are impossible

      I'm not sure if this is 100% reproducible, but it's wrong for all of the recordings that I have immediately hand.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      I expect the stats to be correct.
      ACTUAL -
      The stats are incorrect. eg, p9X values that are longer than the max value.

      FREQUENCY : always

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: