RFR: 8144: Add rule to detect GC Inverted Parallelism

Alex Macdonald aptmac at openjdk.org
Mon Oct 30 15:17:01 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

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

Commit messages:
 - 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=00
  Issue: https://bugs.openjdk.org/browse/JMC-8144
  Stats: 384 lines in 11 files changed: 384 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