< prev index next >
src/jdk.jfr/share/classes/jdk/jfr/internal/OldObjectSample.java
Print this page
*** 28,37 ****
--- 28,38 ----
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,55 ****
--- 47,57 ----
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,91 ****
}
}
public static void updateSettingPathToGcRoots(Map<String, String> s, Boolean pathToGcRoots) {
if (pathToGcRoots != null) {
! s.put(OLD_OBJECT_CUTOFF, pathToGcRoots ? "infinity" : "0 ns");
}
}
public static Map<String, String> createSettingsForSnapshot(PlatformRecording recording, Boolean pathToGcRoots) {
Map<String, String> settings = new HashMap<>(recording.getSettings());
updateSettingPathToGcRoots(settings, pathToGcRoots);
return settings;
}
--- 80,97 ----
}
}
public static void updateSettingPathToGcRoots(Map<String, String> s, Boolean pathToGcRoots) {
if (pathToGcRoots != null) {
! 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 >