[jdk25u-dev] RFR: 8373625: CPUTimeCounters creates a total counter for unsupported GCs

Goetz Lindenmaier goetz at openjdk.org
Fri Dec 19 08:31:58 UTC 2025


On Wed, 17 Dec 2025 18:46:28 GMT, jyma22 <duke at openjdk.org> wrote:

> `CPUTimeCounters` unconditionally creates `CPUTimeGroups::CPUTimeType::gc_total`. Since only Parallel and G1 are supported by this framework/class, this leads to publishing a counter that always resolves to 0. This may be contradictory for an end-user especially so as we now support logging GC CPU time for any GC inside Hotspot. For an example using `-XX:+UseZGC -Xlog:cpu` we get
> 
> [7.907s][info][cpu] === CPU time Statistics =============================================================
> [7.907s][info][cpu]                                                                             CPUs
> [7.907s][info][cpu]                                                                s       %  utilized
> [7.907s][info][cpu]    Process
> [7.907s][info][cpu]      Total                                              186.9562  100.00      23.6
> [7.907s][info][cpu]      Garbage Collection                                   0.6700    0.36       0.1
> [7.907s][info][cpu]        GC Threads                                         0.6692    0.36       0.1
> [7.907s][info][cpu]        VM Thread                                          0.0008    0.00       0.0
> [7.907s][info][cpu] =====================================================================================
> 
> But `jcmd $(pgrep -n java) PerfCounter.print | grep -E "sun.threads.total_gc_cpu_time"` prints: `sun.threads.total_gc_cpu_time=0`.
> 
> Testing: passed tier1-4

HI @jyma22 
please backport to 26 first. Maybe refer to next release of 25 as this is brand new.
Removing the label for now.

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

PR Comment: https://git.openjdk.org/jdk25u-dev/pull/104#issuecomment-3674085326


More information about the jdk-updates-dev mailing list