< prev index next >
test/jdk/jfr/event/gc/heapsummary/HeapSummaryEventAllGcs.java
Print this page
rev 13430 : Add EventG1HeapSummary support.
@@ -39,10 +39,11 @@
public static void test(String expectedYoungCollector, String expectedOldCollector) throws Exception {
Recording recording = new Recording();
recording.enable(EventNames.GCConfiguration);
recording.enable(EventNames.GCHeapSummary);
+ recording.enable(EventNames.G1HeapSummary);
recording.enable(EventNames.PSHeapSummary);
recording.enable(EventNames.MetaspaceSummary).withThreshold(Duration.ofMillis(0));
recording.start();
// To eliminate the risk of being in the middle of a GC when the recording starts/stops,
@@ -60,20 +61,25 @@
Asserts.assertFalse(events.isEmpty(), "Expected at least one event.");
Asserts.assertEquals(events.size() % 2, 0, "Events should come in pairs");
int lastHeapGcId = -1;
+ int lastG1GcId = -1;
int lastPSGcId = -1;
int lastMetaspaceGcId = -1;
for (RecordedEvent event : events) {
final String eventName = event.getEventType().getName();
switch (eventName) {
case EventNames.GCHeapSummary:
lastHeapGcId = checkGcId(event, lastHeapGcId);
checkHeapEventContent(event);
break;
+ case EventNames.G1HeapSummary:
+ lastG1GcId = checkGcId(event, lastG1GcId);
+ checkG1EventContent(event);
+ break;
case EventNames.PSHeapSummary:
lastPSGcId = checkGcId(event, lastPSGcId);
checkPSEventContent(event);
break;
case EventNames.MetaspaceSummary:
@@ -125,10 +131,18 @@
long start = Events.assertField(event, "heapSpace.start").atLeast(0L).getValue();
long committedEnd = Events.assertField(event, "heapSpace.committedEnd").above(start).getValue();
Asserts.assertLessThanOrEqual(heapUsed, committedEnd- start, "used can not exceed size");
}
+ private static void checkG1EventContent(RecordedEvent event) {
+ long edenUsedSize = Events.assertField(event, "edenUsedSize").atLeast(0L).getValue();
+ long edenTotalSize = Events.assertField(event, "edenTotalSize").atLeast(0L).getValue();
+ Asserts.assertLessThanOrEqual(edenUsedSize, edenTotalSize, "used can not exceed size");
+ Events.assertField(event, "survivorUsedSize").atLeast(0L);
+ Events.assertField(event, "numberOfRegions").atLeast(0);
+ }
+
private static void checkPSEventContent(RecordedEvent event) {
checkVirtualSpace(event, "oldSpace");
checkVirtualSpace(event, "youngSpace");
checkSpace(event, "oldObjectSpace");
checkSpace(event, "edenSpace");
< prev index next >