RFR: 8144: Add rule to detect GC Inverted Parallelism

Marcus Hirt hirt at openjdk.org
Fri Nov 17 21:31:45 UTC 2023


On Mon, 30 Oct 2023 15:11:48 GMT, Alex Macdonald <aptmac at openjdk.org> wrote:

> 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

Looks good. Perhaps a JDK 20 recording should be added to the tests so that some of the rule code is exercised?

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

PR Comment: https://git.openjdk.org/jmc/pull/528#issuecomment-1817131173


More information about the jmc-dev mailing list