Skip to content

Commit 2aab9f9

Browse files
minor refactor
1 parent 3abf392 commit 2aab9f9

File tree

2 files changed

+22
-18
lines changed

2 files changed

+22
-18
lines changed

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jfr/events/EveryChunkNativePeriodicEvents.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -115,27 +115,30 @@ private static void emitClassLoadingStatistics() {
115115
*/
116116
private static void emitNativeMemoryTrackingEvents() {
117117
if (VMInspectionOptions.hasNativeMemoryTrackingSupport()) {
118-
/* All NMT events should have a consistent timestamp. */
119-
long timestamp = JfrTicks.elapsedTicks();
120-
emitNativeMemoryTrackingEvents0(NmtCategory.values(), timestamp);
121-
122-
NativeMemoryUsageTotalPeakEvent nmtTotalPeakEvent = new NativeMemoryUsageTotalPeakEvent();
123-
nmtTotalPeakEvent.countAtPeak = NativeMemoryTracking.singleton().getCountAtTotalPeakUsage();
124-
nmtTotalPeakEvent.peakUsage = NativeMemoryTracking.singleton().getPeakTotalUsedMemory();
125-
nmtTotalPeakEvent.commit();
126-
127-
for (NmtCategory nmtCategory : NmtCategory.values()) {
128-
NativeMemoryUsagePeakEvent nmtPeakEvent = new NativeMemoryUsagePeakEvent();
129-
nmtPeakEvent.type = nmtCategory.getName();
130-
nmtPeakEvent.countAtPeak = NativeMemoryTracking.singleton().getCountAtPeakUsage(nmtCategory);
131-
nmtPeakEvent.peakUsage = NativeMemoryTracking.singleton().getPeakUsedMemory(nmtCategory);
132-
nmtPeakEvent.commit();
133-
}
118+
emitJdkNmtEvents(NmtCategory.values());
119+
emitNmtPeakEvents();
120+
}
121+
}
122+
123+
/** These peak events are specific to SubstrateVM. */
124+
private static void emitNmtPeakEvents() {
125+
NativeMemoryUsageTotalPeakEvent nmtTotalPeakEvent = new NativeMemoryUsageTotalPeakEvent();
126+
nmtTotalPeakEvent.countAtPeak = NativeMemoryTracking.singleton().getCountAtTotalPeakUsage();
127+
nmtTotalPeakEvent.peakUsage = NativeMemoryTracking.singleton().getPeakTotalUsedMemory();
128+
nmtTotalPeakEvent.commit();
129+
130+
for (NmtCategory nmtCategory : NmtCategory.values()) {
131+
NativeMemoryUsagePeakEvent nmtPeakEvent = new NativeMemoryUsagePeakEvent();
132+
nmtPeakEvent.type = nmtCategory.getName();
133+
nmtPeakEvent.countAtPeak = NativeMemoryTracking.singleton().getCountAtPeakUsage(nmtCategory);
134+
nmtPeakEvent.peakUsage = NativeMemoryTracking.singleton().getPeakUsedMemory(nmtCategory);
135+
nmtPeakEvent.commit();
134136
}
135137
}
136138

137139
@Uninterruptible(reason = "Accesses a JFR buffer.")
138-
private static void emitNativeMemoryTrackingEvents0(NmtCategory[] nmtCategories, long timestamp) {
140+
private static void emitJdkNmtEvents(NmtCategory[] nmtCategories) {
141+
long timestamp = JfrTicks.elapsedTicks();
139142
JfrNativeEventWriterData data = StackValue.get(JfrNativeEventWriterData.class);
140143
JfrNativeEventWriterDataAccess.initializeThreadLocalNativeBuffer(data);
141144

substratevm/src/com.oracle.svm.test/src/com/oracle/svm/test/jfr/TestNmtEvents.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ private static void validateEvents(List<RecordedEvent> events) {
8484
if (e.getEventType().getName().equals("svm.NativeMemoryUsagePeak") &&
8585
e.getString("type").equals(NmtCategory.Code.getName())) {
8686
foundNativeMemoryUsagePeak = true;
87-
} else if (e.getEventType().getName().equals(JfrEvent.NativeMemoryUsageTotal.getName())) {
87+
}
88+
if (e.getEventType().getName().equals(JfrEvent.NativeMemoryUsageTotal.getName())) {
8889
foundNativeMemoryUsageTotal = true;
8990
}
9091
}

0 commit comments

Comments
 (0)