JEP 242: JVM Trace Events for Failed Allocations
|Status||Closed / Delivered|
|Component||hotspot / gc|
|Discussion||hotspot dash dev at openjdk dot java dot net|
|Reviewed by||Mikael Vidstedt|
|Endorsed by||Mikael Vidstedt|
Add trace events to expose information about threads that trigger garbage-collection operations and threads that are waiting for such operations to complete.
We will define one new trace event. This event will be sent by threads for which an allocation has failed such that garbage collection is now required.
In the case of multiple threads triggering GCs at the same time, every thread will send the event. Only one of them will succeed in triggering a GC, however, and that thread will send a garbage collection event. This way one can trace the information about allocations waiting on a GC by looking at the allocation-requiring-gc events (the new event) preceding the garbage collection event.
The event will contain the allocation size and the id of the pending GC operation.
The performance impact of generating these events will be negligible.