JDK 25, to be released on September 16, is set to include three new Java Enhancement Proposals (JEPs) for JFR and several enhancements to the jdk.jfr API and the jfr command.
-
posts
-
What's new for JFR in JDK 25
-
JDK 26-27: What’s New in JFR
JDK 25 introduced three JFR-related JEPs: JEP 518: JFR Cooperative Sampling, JEP 509: JFR CPU-Time Profiling (Experimental), and JEP 520: JFR Method Timing & Tracing. In JDK 26, the focus shifted to maintenance and bug fixes, some of which were also backported to JDK 25. Still, a few enhancements were added in JDK 26, and a new JEP was introduced in JDK 27.
-
Deprecated Event
In JDK 22, an event was added to JFR to detect invocations of deprecated methods. The main use case is to determine if a third-party library depends on methods that are going to be removed, for example, methods related to the Security Manager. See JEP 411: Deprecate the Security Manager for Removal for further information.
-
View Command
JDK 21 comes with a new JFR view command that displays aggregated event data in the shell. The command can be used to view information about an application without the need to dump a recording file, or open up JDK Mission Control.
-
Improved Ergonomics
JDK 17 was released with several improvements to JFR ergonomics.
-
Remote Recording Stream
Application monitoring tools have for a long time been able to fetch data continuously over the network using JMX. For example, the CPU load can be obtained from the OperatingSystemMXBean and visualized in JDK Mission Control. JFR provides richer data that is structured, for example stack traces and timestamped values, but until JDK 16 there hasn’t been a way to transfer this information over the network as it occurs.