equal
deleted
inserted
replaced
41 import java.lang.reflect.InvocationTargetException; |
41 import java.lang.reflect.InvocationTargetException; |
42 import java.lang.reflect.Method; |
42 import java.lang.reflect.Method; |
43 import java.lang.reflect.Modifier; |
43 import java.lang.reflect.Modifier; |
44 import java.nio.file.Path; |
44 import java.nio.file.Path; |
45 import java.time.Duration; |
45 import java.time.Duration; |
|
46 import java.time.LocalDateTime; |
46 import java.util.ArrayList; |
47 import java.util.ArrayList; |
47 import java.util.Arrays; |
48 import java.util.Arrays; |
48 import java.util.Collections; |
49 import java.util.Collections; |
49 import java.util.HashMap; |
50 import java.util.HashMap; |
50 import java.util.List; |
51 import java.util.List; |
53 |
54 |
54 import jdk.internal.org.objectweb.asm.ClassReader; |
55 import jdk.internal.org.objectweb.asm.ClassReader; |
55 import jdk.internal.org.objectweb.asm.util.CheckClassAdapter; |
56 import jdk.internal.org.objectweb.asm.util.CheckClassAdapter; |
56 import jdk.jfr.Event; |
57 import jdk.jfr.Event; |
57 import jdk.jfr.FlightRecorderPermission; |
58 import jdk.jfr.FlightRecorderPermission; |
|
59 import jdk.jfr.Recording; |
58 import jdk.jfr.RecordingState; |
60 import jdk.jfr.RecordingState; |
59 import jdk.jfr.internal.handlers.EventHandler; |
61 import jdk.jfr.internal.handlers.EventHandler; |
60 import jdk.jfr.internal.settings.PeriodSetting; |
62 import jdk.jfr.internal.settings.PeriodSetting; |
61 import jdk.jfr.internal.settings.StackTraceSetting; |
63 import jdk.jfr.internal.settings.StackTraceSetting; |
62 import jdk.jfr.internal.settings.ThresholdSetting; |
64 import jdk.jfr.internal.settings.ThresholdSetting; |
482 return Collections.singletonList(list.get(0)); |
484 return Collections.singletonList(list.get(0)); |
483 } |
485 } |
484 return Collections.unmodifiableList(list); |
486 return Collections.unmodifiableList(list); |
485 } |
487 } |
486 |
488 |
487 public static void updateSettingPathToGcRoots(Map<String, String> settings, Boolean pathToGcRoots) { |
|
488 if (pathToGcRoots != null) { |
|
489 settings.put(Type.EVENT_NAME_PREFIX + "OldObjectSample#cutoff", pathToGcRoots ? "infinity" : "0 ns" ); |
|
490 } |
|
491 } |
|
492 |
|
493 |
|
494 public static String upgradeLegacyJDKEvent(String eventName) { |
489 public static String upgradeLegacyJDKEvent(String eventName) { |
495 if (eventName.length() <= LEGACY_EVENT_NAME_PREFIX.length()) { |
490 if (eventName.length() <= LEGACY_EVENT_NAME_PREFIX.length()) { |
496 return eventName; |
491 return eventName; |
497 } |
492 } |
498 if (eventName.startsWith(LEGACY_EVENT_NAME_PREFIX)) { |
493 if (eventName.startsWith(LEGACY_EVENT_NAME_PREFIX)) { |
501 return Type.EVENT_NAME_PREFIX + eventName.substring(index + 1); |
496 return Type.EVENT_NAME_PREFIX + eventName.substring(index + 1); |
502 } |
497 } |
503 } |
498 } |
504 return eventName; |
499 return eventName; |
505 } |
500 } |
|
501 |
|
502 public static String makeFilename(Recording recording) { |
|
503 String pid = JVM.getJVM().getPid(); |
|
504 String date = Repository.REPO_DATE_FORMAT.format(LocalDateTime.now()); |
|
505 String idText = recording == null ? "" : "-id-" + Long.toString(recording.getId()); |
|
506 return "hotspot-" + "pid-" + pid + idText + "-" + date + ".jfr"; |
|
507 } |
506 } |
508 } |