RFR: 8003216: Add JFR event indicating explicit System.gc() cal

Erik Gahlin erik.gahlin at oracle.com
Wed Feb 26 17:28:13 UTC 2020

Hi Stefan,

GC-id would be nice, but perhaps not possible in all scenarios, i.e. 
-XX:+ExplicitGCInvokesConcurrent and Epsilon GC?


On 2020-02-26 14:21, Stefan Johansson wrote:
> Hi Erik,
>> 26 feb. 2020 kl. 13:56 skrev Per Liden <per.liden at oracle.com>:
>> Hi Erik,
>> On 2020-02-26 13:50, Erik Gahlin wrote:
>>> Hi,
>>> Could I have a review of a JFR event that is emitted when System.gc() is called.
>>> Purpose is to collect the stack trace. It is not sufficient with the cause field that the GarbageCollection event has today.
>>> Bug:
>>> https://bugs.openjdk.java.net/browse/JDK-8003216
>>> Webrev:
>>> http://cr.openjdk.java.net/~egahlin/8003216/
>> 489     EventSystemGC event;
>> 490     event.commit();
>> 491     Universe::heap()->collect(GCCause::_java_lang_system_gc);
>> Don't you want the commit() call after the call to collect(), to get the timing right?
> I was thinking the same thing, could also be nice to have the GC-id associated with the event to make it easy to match it to GC-logs and other GC-events. Not sure how to easily get the GC-id though, since it’s not set at the time we commit the event.
> I guess if the event has the correct span with timestamps it will be easy to figure out which other events are associated with it, even without the GC-id.
> Cheers,
> Stefan
>> cheers,
>> Per
>>> Testing:
>>> tier1+tier2+jdk/jdk/jfr
>>> Thanks
>>> Erik

More information about the hotspot-gc-dev mailing list