On Mon, 4 Aug 2025 13:59:43 GMT, Jonas Norlinder <d...@openjdk.org> wrote:
> Hi all, > > This PR refactors the newly added GC CPU time code from > [JDK-8359110](https://bugs.openjdk.org/browse/JDK-8359110). > > As a stepping-stone to enable consolidation of CPU time tracking in e.g. > hsperf counters and GCTraceCPUTime and to have a unified interface for > tracking CPU time of various components in Hotspot this code can be > refactored. This PR introduces a new interface to retrieve CPU time for > various Hotspot components and it currently supports: > > CPUTimeUsage::GC::total() // the sum of gc_threads(), vm_thread(), > stringdedup() > > CPUTimeUsage::GC::gc_threads() > CPUTimeUsage::GC::vm_thread() > CPUTimeUsage::GC::stringdedup() > > > I moved `CPUTimeUsage` to `src/hotspot/share/services` since it seemed > fitting as it housed similar performance tracking code like `RuntimeService`, > as this is no longer a class that is only specific to GC. > > I also made a minor improvement in the CPU time logging during exit. Since > `CPUTimeUsage` supports more components than just GC I changed the logging > flag to from `gc,cpu` to `cpu` and created a detailed table: > > > [71.425s][info][cpu ] === CPU time Statistics > ============================================================= > [71.425s][info][cpu ] > CPUs > [71.425s][info][cpu ] > s % utilized > [71.425s][info][cpu ] Process > [71.425s][info][cpu ] Total > 1616.3627 100.00 22.6 > [71.425s][info][cpu ] Garbage Collection > 83.7322 5.18 1.2 > [71.425s][info][cpu ] GC Threads > 82.7671 5.12 1.2 > [71.425s][info][cpu ] VM Thread > 0.9651 0.06 0.0 > [71.425s][info][cpu ] > ===================================================================================== This pull request has now been integrated. Changeset: fb651fd6 Author: Jonas Norlinder <jonas.norlin...@oracle.com> Committer: Albert Mingkun Yang <ay...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/fb651fd6d246e69b42363e050eb8d96afb633eed Stats: 281 lines in 11 files changed: 202 ins; 76 del; 3 mod 8364638: Refactor and make accumulated GC CPU time code generic Reviewed-by: ayang, sjohanss ------------- PR: https://git.openjdk.org/jdk/pull/26621