< 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 >