JFR is Coming to OpenJDK 8!

I recently realized that this isn’t common knowledge, so I thought I’d take the opportunity to talk about the JDK Flight Recorder coming to OpenJDK 8! The backport is a collaboration between Red Hat, Alibaba, Azul and Datadog. These are exciting times for production time profiling nerds like me. Smile

The repository for the backport is available here:

http://hg.openjdk.java.net/jdk8u/jdk8u-jfr-incubator/

The proposed CSR is available here:

https://bugs.openjdk.java.net/browse/JDK-8230764

The backport is keeping the same interfaces and pretty much the same implementation as is available in OpenJDK 11, and is fully compatible. There were a few security fixes, due to there not being any module system to rely upon for isolation of the internals, also, some events will not be available (e.g. the Module related events) but other than that the API and tools work exactly the same.

JDK Mission Control will, of course, be updated to work flawlessly with the OpenJDK 8 version of JFR as well. The changes will be minute and are only necessary since Mission Control has some built-in assumptions that no longer hold true.

You can already build and try out OpenJDK 8 with JFR simply by building the JDK available in the repository mentioned above. Also, Aleksey Shipilev provide binaries – see here for details.

Have fun! Smile

5 Responses to "JFR is Coming to OpenJDK 8!"

  1. […] OpenJDK的开发者们将强大的低延迟profile能力带到了Java 8中,可以使用非常低的开销来监控JVM性能。这个工具叫作Flight Recorder,现在已经在多个版本的JDK中可用,比如AdoptOpenJDK。 […]

  2. Billy says:

    Exiting! Just to be clear, does this also include the event api introduced in Java 9 (jdk.jfr.*)?

  3. Marcus says:

    Yep! The backport is based on the JFR 2.0 implementation in JDK 11.

  4. Marcin Wasiluk says:

    Thx Marcus, Do you know if there is any comprehensive list of JFR VM options for OpenJdk 8 & 11? “-XX:StartFlightRecording” I could not find any doc for it.

  5. Marcus says:

    Foojay might help:
    https://foojay.io/

Leave a Reply

Your email address will not be published. Required fields are marked *