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

Erik Gahlin erik.gahlin at oracle.com
Wed Feb 26 13:50:41 UTC 2020

Hi Per,

My thinking was that users expect the timestamp of the event to happen before the GarbageCollection event, so I made the event untimed.

I could make the event timed, but what happens if a concurrent gc is used and it is already in progress. Would a new gc cycle start, or will it complete the existing cycle before returning?


> On 26 Feb 2020, at 13:56, Per Liden <per.liden at oracle.com> wrote:
> 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?
> cheers,
> Per
>> Testing:
>> tier1+tier2+jdk/jdk/jfr
>> Thanks
>> Erik

More information about the hotspot-gc-dev mailing list