RFR: 8367473: Shenandoah: Make the detailed evacuation metrics a runtime diagnostic option [v2]

Y. Srinivas Ramakrishna ysr at openjdk.org
Thu Sep 18 01:59:44 UTC 2025


On Tue, 16 Sep 2025 18:16:27 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> Non-product builds currently have a feature to produce detailed metrics about evacuations (number of objects, number of bytes, split out by age (young, old, promotion) and thread (mutator or worker). This change makes this feature accessible in release builds as a diagnostic option.
>
> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
> 
>  - Merge remote-tracking branch 'jdk/master' into make-evac-tracking-runtime-option
>  - Only print evacuation info when evac tracking is enabled (generational mode fix)
>  - Make detailed evacuation tracking a diagnostic option in product builds

Changes look good to me. I am guessing you checked that the original issue is gone; would be a good idea to check that the output looks like it's expected and may be include a sample output with the flag enabled.

src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp line 399:

> 397:   product(bool, ShenandoahEvacTracking, false, DIAGNOSTIC,                  \
> 398:           "Collect additional metrics about evacuations. Enabling this "    \
> 399:           "track how many objects and how many bytes were evacuated, and "  \

Nit: track -> tracks?
Or may be simply say: "Track additional, more detailed metrics related to evacuations by mutators and GC workers." and elide the first sentence" "Collect additional ..."?

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

Marked as reviewed by ysr (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/27238#pullrequestreview-3236841054
PR Review Comment: https://git.openjdk.org/jdk/pull/27238#discussion_r2357208495


More information about the hotspot-gc-dev mailing list