Java CPU Profiling
Unbiased Java CPU profiling with JFR in JDK 25 | Datadog

Unbiased Java CPU profiling with JFR in JDK 25 | Datadog

7/22/2026 · Jaroslav Bachorík, Scott Gerring

What this post added

This post details the evolution of Java CPU profiling, highlighting the limitations of JFR's ExecutionSample for CPU-bound workloads and the challenges of using unsupported JVM internals like AsyncGetCallTrace. It introduces the new JFR CPUTimeSample event in JDK 25, which, combined with cooperative stack walking, provides a more accurate and stable CPU profiling mechanism by sampling based on actual CPU time rather than just observed thread activity.

Read the original post ↗