RFR: 8203629: Produce events in the JDK without a dependency on jdk.jfr
Markus Gronlund
markus.gronlund at oracle.com
Wed Jun 20 16:54:54 UTC 2018
Hi Erik,
looks good.
Very powerful with minimal intrusion.
Thanks
Markus
-----Original Message-----
From: Erik Gahlin
Sent: den 19 juni 2018 04:07
To: hotspot-jfr-dev at openjdk.java.net; core-libs-dev <core-libs-dev at openjdk.java.net>
Subject: RFR: 8203629: Produce events in the JDK without a dependency on jdk.jfr
Hi,
Could I have a review of an enhancement that will make it possible to add JFR events to java.base, and possibly other modules in the JDK, without a compile time dependency on jdk.jfr.
Bug:
https://bugs.openjdk.java.net/browse/JDK-8203629
Webrev:
http://cr.openjdk.java.net/~egahlin/8203629.0
Testing:
Tests in test/jdk/jdk/jfr
The functionality is a prerequisite for an upcoming enhancement that will add JFR events to the security libraries.
In short, jdk.jfr.Event (located in jdk.jfr) extends jdk.internal.event.Event (located in java.base). Metadata for events, such as labels and descriptions, are added using a mirror event class located in jdk.jfr module. If the fields of the mirror class and the event class don't match an InternalError is thrown.
To illustrate how the mechanism can be used, see the following example (not meant to be checked in).
http://cr.openjdk.java.net/~egahlin/8203629.example
Since the implementation of jdk.internal.event.Event is empty, the JIT will typically eliminate all traces of JFR functionality unless Flight Recorder is enabled.
Thanks
Erik
More information about the hotspot-jfr-dev
mailing list