RFR: 8324334: Shenandoah: Improve end of process report

Kelvin Nilsen kdnilsen at openjdk.org
Tue Jan 23 00:20:26 UTC 2024


On Mon, 22 Jan 2024 20:42:45 GMT, William Kemper <wkemper at openjdk.org> wrote:

> Shenandoah emits a summary of collector statistics when the JVM process exits normally. These statistics do not include the number of cycles which did not require evacuation (we call these abbreviated or short-cut cycles).
> 
> The end-of-process report should include these shortcut cycles and also show the outcomes of various cycles as a percentage of the total number of cycles. This change also removes some unused variables/methods and has the heuristic lean on the collector policy for tracking consecutive degenerated cycles (rather than having both the heuristic and the collector policy tracking this).
> 
> Here is an example of the improved report:
> 
>     20 Completed GCs
>      5 Successful Concurrent GCs (25.00%)
>        2 invoked explicitly (40.00%)
>        0 invoked implicitly (0.00%)
>        1 abbreviated (20.00%)
>     13 Degenerated GCs (65.00%)
>        3 upgraded to Full GC (23.08%)
>       13 caused by allocation failure (100.00%)
>        0 abbreviated (0.00%)
>         10 happened at Mark
>          3 happened at Update References
>      5 Full GCs (25.00%)
>        0 invoked explicitly (0.00%)
>        0 invoked implicitly (0.00%)
>        2 caused by allocation failure (40.00%)
>        3 upgraded from Degenerated GC (60.00%)
> 
> 
> In addition to GHA testing, these changes have been tested on Dacapo, Extremem, SpecJBB2015, SpecJVM2008, Heapothesys and Diluvian.

Thanks for preparing this.

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

Marked as reviewed by kdnilsen (no project role).

PR Review: https://git.openjdk.org/jdk/pull/17521#pullrequestreview-1837634201


More information about the hotspot-gc-dev mailing list