RFR: 8342818: Implement JEP 509: JFR CPU-Time Profiling

Johannes Bechberger jbechberger at openjdk.org
Thu Jun 5 06:17:09 UTC 2025


This is the code for the [JEP 509: CPU Time based profiling for JFR](https://openjdk.org/jeps/509).

Currently tested using [this test suite](https://github.com/parttimenerd/basic-profiler-tests). This runs profiles the [Renaissance](https://renaissance.dev/) benchmark with

- ... different heap sizes
- ... different GCs
- ... different samplers (the standard JFR and the new CPU Time Sampler and both)
- ... different JFR recording durations
- ... different chunk-sizes

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

Commit messages:
 - Last minute bug fixes
 - Renaming
 - Improve
 - Fixed merge error
 - Add comment regarding Threads_lock
 - Improve disenroll
 - Renaming of VM ops
 - Update src/hotspot/share/jfr/periodic/sampling/jfrCPUTimeThreadSampler.cpp
 - Update src/hotspot/share/jfr/periodic/sampling/jfrCPUTimeThreadSampler.cpp
 - Readd lock
 - ... and 137 more: https://git.openjdk.org/jdk/compare/7838321b...706afe47

Changes: https://git.openjdk.org/jdk/pull/25654/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25654&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8342818
  Stats: 2319 lines in 41 files changed: 2179 ins; 128 del; 12 mod
  Patch: https://git.openjdk.org/jdk/pull/25654.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25654/head:pull/25654

PR: https://git.openjdk.org/jdk/pull/25654


More information about the hotspot-dev mailing list