@@ -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
0 commit comments