RFR: 8324334: Shenandoah: Improve end of process report
Y. Srinivas Ramakrishna
ysr at openjdk.org
Tue Jan 23 18:45: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.
Changes look good, and definitely tidy up the encapsulation etc. of these state variables and their uses. Providing a count of abbreviated gc's in the end of process summary is great.
Overall high level suggestions:
1. where new fields or methods are introduced (or moved) to a class, please add a brief line of documentation comment (in the header file). That way over time we end up with good documentation to help future maintenance.
2. Copyright changes: Unless it's a big & significant overhaul or rewrite of a file, the convention has generally been not to add a company name, generally speaking.
-------------
Marked as reviewed by ysr (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/17521#pullrequestreview-1839645263
More information about the shenandoah-dev
mailing list