< prev index next >

src/jdk.jfr/share/classes/jdk/jfr/internal/OldObjectSample.java

Print this page

        

@@ -28,10 +28,11 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import jdk.jfr.Enabled;
+import jdk.jfr.Recording;
 import jdk.jfr.RecordingState;
 import jdk.jfr.internal.settings.CutoffSetting;
 import jdk.jfr.internal.test.WhiteBox;
 
 // The Old Object event could have been implemented as a periodic event, but

@@ -46,10 +47,11 @@
 public final class OldObjectSample {
 
     private static final String EVENT_NAME = Type.EVENT_NAME_PREFIX + "OldObjectSample";
     private static final String OLD_OBJECT_CUTOFF = EVENT_NAME + "#" + Cutoff.NAME;
     private static final String OLD_OBJECT_ENABLED = EVENT_NAME + "#" + Enabled.NAME;
+    private static final String INFINITY = "infinity";
 
     // Emit if old object is enabled in recoding with cutoff for that recording
     public static void emit(PlatformRecording recording) {
         if (isEnabled(recording)) {
             long nanos = CutoffSetting.parseValueSafe(recording.getSettings().get(OLD_OBJECT_CUTOFF));

@@ -78,14 +80,18 @@
         }
     }
 
     public static void updateSettingPathToGcRoots(Map<String, String> s, Boolean pathToGcRoots) {
         if (pathToGcRoots != null) {
-            s.put(OLD_OBJECT_CUTOFF, pathToGcRoots ? "infinity" : "0 ns");
+            s.put(OLD_OBJECT_CUTOFF, pathToGcRoots ? INFINITY : "0 ns");
         }
     }
 
+    public static boolean isPathToGcRootsEnabled(Recording recording) {
+        return INFINITY.equals(recording.getSettings().get(OLD_OBJECT_CUTOFF));
+    }
+
     public static Map<String, String> createSettingsForSnapshot(PlatformRecording recording, Boolean pathToGcRoots) {
         Map<String, String> settings = new HashMap<>(recording.getSettings());
         updateSettingPathToGcRoots(settings, pathToGcRoots);
         return settings;
     }
< prev index next >