RFR: 8144: Add rule to detect GC Inverted Parallelism [v2]

Alex Macdonald aptmac at openjdk.org
Mon Nov 20 18:24:06 UTC 2023


> This PR addresses JMC-8144 [[0]](https://bugs.openjdk.org/browse/JMC-8144). There is a GC log analysis tool called Garbagecat [[1]](https://github.com/mgm3746/garbagecat/tree/main), which operates on GC logs and identifies performance issues and suggests potential solutions (similar to our automated analysis page). One metric Garbagecat flags is **"inverted parallelism"**, which takes a look at the sys+usr time of a parallel GC and compares it against the real (wall) time. If the parallelism is low, this can indicate that the parallel gc is operating at the efficiency of serial gc, and there could be room for improvement. This GC time information is now included in the jdk.GCCPUTime event added in JDK20+.
> 
> This PR requires support for the jdk.GCCPUTime event [[2]](https://bugs.openjdk.org/browse/JDK-8291753), so it also doubles as a PR towards JMC-7895 [[3]](https://bugs.openjdk.org/browse/JMC-7895).
> 
> [0] https://bugs.openjdk.org/browse/JMC-8144
> [1] https://github.com/mgm3746/garbagecat/tree/main
> [2] https://bugs.openjdk.org/browse/JDK-8291753
> [3] https://bugs.openjdk.org/browse/JMC-7895

Alex Macdonald has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:

 - Add jdk21 recordings for rules.jdk test
 - 8144: Add rule to detect GC Inverted Parallelism

-------------

Changes: https://git.openjdk.org/jmc/pull/528/files
 Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=528&range=01
  Stats: 937 lines in 14 files changed: 937 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jmc/pull/528.diff
  Fetch: git fetch https://git.openjdk.org/jmc.git pull/528/head:pull/528

PR: https://git.openjdk.org/jmc/pull/528


More information about the jmc-dev mailing list