23 * questions.
24 */
25 package jdk.jfr.internal;
26
27 import java.util.Map;
28 import java.util.concurrent.ConcurrentHashMap;
29
30 import jdk.jfr.events.DeserializationEvent;
31 import jdk.jfr.events.ErrorThrownEvent;
32 import jdk.jfr.events.ExceptionStatisticsEvent;
33 import jdk.jfr.events.ExceptionThrownEvent;
34 import jdk.jfr.events.ProcessStartEvent;
35 import jdk.jfr.events.SecurityPropertyModificationEvent;
36 import jdk.jfr.events.SecurityProviderServiceEvent;
37 import jdk.jfr.events.SerializationMisdeclarationEvent;
38 import jdk.jfr.events.SocketReadEvent;
39 import jdk.jfr.events.SocketWriteEvent;
40 import jdk.jfr.events.TLSHandshakeEvent;
41 import jdk.jfr.events.ThreadSleepEvent;
42 import jdk.jfr.events.VirtualThreadEndEvent;
43 import jdk.jfr.events.VirtualThreadPinnedEvent;
44 import jdk.jfr.events.VirtualThreadStartEvent;
45 import jdk.jfr.events.VirtualThreadSubmitFailedEvent;
46 import jdk.jfr.events.X509CertificateEvent;
47 import jdk.jfr.events.X509ValidationEvent;
48
49 /**
50 * This class registers all mirror events.
51 */
52 final class MirrorEvents {
53 private static final Map<String, Class<? extends MirrorEvent>> mirrorLookup = new ConcurrentHashMap<>();
54
55 // Add mirror event mapping here. See MirrorEvent class for details.
56 static {
57 register("jdk.internal.event.DeserializationEvent", DeserializationEvent.class);
58 register("jdk.internal.event.ProcessStartEvent", ProcessStartEvent.class);
59 register("jdk.internal.event.SecurityPropertyModificationEvent", SecurityPropertyModificationEvent.class);
60 register("jdk.internal.event.SecurityProviderServiceEvent", SecurityProviderServiceEvent.class);
61 register("jdk.internal.event.SerializationMisdeclarationEvent", SerializationMisdeclarationEvent.class);
62 register("jdk.internal.event.SocketReadEvent", SocketReadEvent.class);
63 register("jdk.internal.event.SocketWriteEvent", SocketWriteEvent.class);
64 register("jdk.internal.event.ThreadSleepEvent", ThreadSleepEvent.class);
65 register("jdk.internal.event.TLSHandshakeEvent", TLSHandshakeEvent.class);
66 register("jdk.internal.event.VirtualThreadStartEvent", VirtualThreadStartEvent.class);
67 register("jdk.internal.event.VirtualThreadEndEvent", VirtualThreadEndEvent.class);
68 register("jdk.internal.event.VirtualThreadPinnedEvent", VirtualThreadPinnedEvent.class);
69 register("jdk.internal.event.VirtualThreadSubmitFailedEvent", VirtualThreadSubmitFailedEvent.class);
70 register("jdk.internal.event.X509CertificateEvent", X509CertificateEvent.class);
71 register("jdk.internal.event.X509ValidationEvent", X509ValidationEvent.class);
72 register("jdk.internal.event.ErrorThrownEvent", ErrorThrownEvent.class);
73 register("jdk.internal.event.ExceptionStatisticsEvent", ExceptionStatisticsEvent.class);
74 register("jdk.internal.event.ExceptionThrownEvent", ExceptionThrownEvent.class);
75 };
76
77 private static void register(String eventClassName, Class<? extends MirrorEvent> mirrorClass) {
78 mirrorLookup.put(eventClassName, mirrorClass);
79 }
80
81 static Class<? extends MirrorEvent> find(Class<? extends jdk.internal.event.Event> eventClass) {
82 return find(eventClass.getClassLoader() == null, eventClass.getName());
83 }
84
85 static Class<? extends MirrorEvent> find(boolean bootClassLoader, String name) {
86 if (bootClassLoader) {
87 return mirrorLookup.get(name);
88 }
|
23 * questions.
24 */
25 package jdk.jfr.internal;
26
27 import java.util.Map;
28 import java.util.concurrent.ConcurrentHashMap;
29
30 import jdk.jfr.events.DeserializationEvent;
31 import jdk.jfr.events.ErrorThrownEvent;
32 import jdk.jfr.events.ExceptionStatisticsEvent;
33 import jdk.jfr.events.ExceptionThrownEvent;
34 import jdk.jfr.events.ProcessStartEvent;
35 import jdk.jfr.events.SecurityPropertyModificationEvent;
36 import jdk.jfr.events.SecurityProviderServiceEvent;
37 import jdk.jfr.events.SerializationMisdeclarationEvent;
38 import jdk.jfr.events.SocketReadEvent;
39 import jdk.jfr.events.SocketWriteEvent;
40 import jdk.jfr.events.TLSHandshakeEvent;
41 import jdk.jfr.events.ThreadSleepEvent;
42 import jdk.jfr.events.VirtualThreadEndEvent;
43 import jdk.jfr.events.VirtualThreadStartEvent;
44 import jdk.jfr.events.VirtualThreadSubmitFailedEvent;
45 import jdk.jfr.events.X509CertificateEvent;
46 import jdk.jfr.events.X509ValidationEvent;
47
48 /**
49 * This class registers all mirror events.
50 */
51 final class MirrorEvents {
52 private static final Map<String, Class<? extends MirrorEvent>> mirrorLookup = new ConcurrentHashMap<>();
53
54 // Add mirror event mapping here. See MirrorEvent class for details.
55 static {
56 register("jdk.internal.event.DeserializationEvent", DeserializationEvent.class);
57 register("jdk.internal.event.ProcessStartEvent", ProcessStartEvent.class);
58 register("jdk.internal.event.SecurityPropertyModificationEvent", SecurityPropertyModificationEvent.class);
59 register("jdk.internal.event.SecurityProviderServiceEvent", SecurityProviderServiceEvent.class);
60 register("jdk.internal.event.SerializationMisdeclarationEvent", SerializationMisdeclarationEvent.class);
61 register("jdk.internal.event.SocketReadEvent", SocketReadEvent.class);
62 register("jdk.internal.event.SocketWriteEvent", SocketWriteEvent.class);
63 register("jdk.internal.event.ThreadSleepEvent", ThreadSleepEvent.class);
64 register("jdk.internal.event.TLSHandshakeEvent", TLSHandshakeEvent.class);
65 register("jdk.internal.event.VirtualThreadStartEvent", VirtualThreadStartEvent.class);
66 register("jdk.internal.event.VirtualThreadEndEvent", VirtualThreadEndEvent.class);
67 register("jdk.internal.event.VirtualThreadSubmitFailedEvent", VirtualThreadSubmitFailedEvent.class);
68 register("jdk.internal.event.X509CertificateEvent", X509CertificateEvent.class);
69 register("jdk.internal.event.X509ValidationEvent", X509ValidationEvent.class);
70 register("jdk.internal.event.ErrorThrownEvent", ErrorThrownEvent.class);
71 register("jdk.internal.event.ExceptionStatisticsEvent", ExceptionStatisticsEvent.class);
72 register("jdk.internal.event.ExceptionThrownEvent", ExceptionThrownEvent.class);
73 };
74
75 private static void register(String eventClassName, Class<? extends MirrorEvent> mirrorClass) {
76 mirrorLookup.put(eventClassName, mirrorClass);
77 }
78
79 static Class<? extends MirrorEvent> find(Class<? extends jdk.internal.event.Event> eventClass) {
80 return find(eventClass.getClassLoader() == null, eventClass.getName());
81 }
82
83 static Class<? extends MirrorEvent> find(boolean bootClassLoader, String name) {
84 if (bootClassLoader) {
85 return mirrorLookup.get(name);
86 }
|