RFR 8221507: Implement JFR Events for Shenandoah

Erik Gahlin erik.gahlin at oracle.com
Sat May 4 20:43:27 UTC 2019

Hi Ken,

Nice to see some Shenandoah specific events.

- You need to update the configuration files for the events (default.jfc 
and profile.jfc) located in src/jdk.jfr/share/conf/jfr.

- I think you need to put INCLUDE_SHENANDOAHGC inside the TRACE_FUNCTION 
in jfrPeriodic.cpp. A call to the TRACE_FUNCTION will happen regardless 
if it is built with Shenandoah or not, since the dispatch mechanism is 
generated from metadata.xml.

- If Shenandoah is still an experimental feature(?), the Event element 
in metadata.xml should have the experimental="true" attribute set [1].

- It would be nice if you could move the Type element in metadata.xml 
for ShenandoahHeapRegionState below the events so they are next to the 
other Type elements.


[1] The experimental attribute was created so that JVM developers could 
add events more freely to HotSpot without the burden to write unit tests 
or commit to a particular event design. Experimental events are not 
shown in JMC by default, but can be made visible in the Preference 
dialog. See the following picture. 

> Hi all,
> Please review this patch that adds support for two new JFR events
> ShenandoahHeapRegionStateChange and ShenandoahHeapRegionInformation.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8221507
> Webrev: http://cr.openjdk.java.net/~kdobson/53476/webrev/
> The Shenandoah team has also reviewed this patch and approved it from their
> end.
> Thanks,
> Ken Dobson

More information about the jmc-dev mailing list