< prev index next >

test/jdk/jfr/event/gc/heapsummary/HeapSummaryEventAllGcs.java

Print this page
rev 13657 : 8223692: Add JFR G1 Heap Summary Event Support

*** 39,48 **** --- 39,49 ---- 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,79 **** --- 61,85 ---- 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,134 **** --- 131,148 ---- 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 >