1 /*
  2  * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
  3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  4  *
  5  * This code is free software; you can redistribute it and/or modify it
  6  * under the terms of the GNU General Public License version 2 only, as
  7  * published by the Free Software Foundation.
  8  *
  9  * This code is distributed in the hope that it will be useful, but WITHOUT
 10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 12  * version 2 for more details (a copy is included in the LICENSE file that
 13  * accompanied this code).
 14  *
 15  * You should have received a copy of the GNU General Public License version
 16  * 2 along with this work; if not, write to the Free Software Foundation,
 17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 18  *
 19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 20  * or visit www.oracle.com if you need additional information or have any
 21  * questions.
 22  */
 23 package jdk.test.lib.jfr;
 24 
 25 import jdk.jfr.EventType;
 26 
 27 /**
 28  * Contains id for events that are shipped with the JDK.
 29  *
 30  */
 31 public class EventNames {
 32 
 33     public static final String PREFIX = "jdk.";
 34     private static final String GC_CATEGORY = "GC";
 35 
 36     // JVM Configuration
 37     public static final String JVMInformation = PREFIX + "JVMInformation";
 38     public static final String InitialSystemProperty = PREFIX + "InitialSystemProperty";
 39     public static final String IntFlag = PREFIX + "IntFlag";
 40     public static final String UnsignedIntFlag = PREFIX + "UnsignedIntFlag";
 41     public static final String LongFlag = PREFIX + "LongFlag";
 42     public static final String UnsignedLongFlag = PREFIX + "UnsignedLongFlag";
 43     public static final String DoubleFlag = PREFIX + "DoubleFlag";
 44     public static final String BooleanFlag = PREFIX + "BooleanFlag";
 45     public static final String StringFlag = PREFIX + "StringFlag";
 46     public static final String IntFlagChanged = PREFIX + "IntFlagChanged";
 47     public static final String UnsignedIntFlagChanged = PREFIX + "UnsignedIntFlagChanged";
 48     public static final String LongFlagChanged = PREFIX + "LongFlagChanged";
 49     public static final String UnsignedLongFlagChanged = PREFIX + "UnsignedLongFlagChanged";
 50     public static final String DoubleFlagChanged = PREFIX + "DoubleFlagChanged";
 51     public static final String BooleanFlagChanged = PREFIX + "BooleanFlagChanged";
 52     public static final String StringFlagChanged = PREFIX + "StringFlagChanged";
 53 
 54     // Runtime
 55     public static final String ThreadStart = PREFIX + "ThreadStart";
 56     public static final String ThreadEnd = PREFIX + "ThreadEnd";
 57     public static final String ThreadSleep = PREFIX + "ThreadSleep";
 58     public static final String ThreadPark = PREFIX + "ThreadPark";
 59     public static final String JavaMonitorEnter = PREFIX + "JavaMonitorEnter";
 60     public static final String JavaMonitorWait = PREFIX + "JavaMonitorWait";
 61     public static final String JavaMonitorInflate = PREFIX + "JavaMonitorInflate";
 62     public static final String SyncOnValueBasedClass = PREFIX + "SyncOnValueBasedClass";
 63     public static final String ClassLoad = PREFIX + "ClassLoad";
 64     public static final String ClassDefine = PREFIX + "ClassDefine";
 65     public static final String ClassUnload = PREFIX + "ClassUnload";
 66     public static final String SafepointBegin = PREFIX + "SafepointBegin";
 67     public static final String SafepointStateSynchronization = PREFIX + "SafepointStateSynchronization";
 68     public static final String SafepointCleanup = PREFIX + "SafepointCleanup";
 69     public static final String SafepointCleanupTask = PREFIX + "SafepointCleanupTask";
 70     public static final String SafepointEnd = PREFIX + "SafepointEnd";
 71     public static final String ExecuteVMOperation = PREFIX + "ExecuteVMOperation";
 72     public static final String Shutdown = PREFIX + "Shutdown";
 73     public static final String JavaThreadStatistics = PREFIX + "JavaThreadStatistics";
 74     public static final String ClassLoadingStatistics = PREFIX + "ClassLoadingStatistics";
 75     public static final String ClassLoaderStatistics = PREFIX + "ClassLoaderStatistics";
 76     public static final String ThreadAllocationStatistics = PREFIX + "ThreadAllocationStatistics";
 77     public static final String ExecutionSample = PREFIX + "ExecutionSample";
 78     public static final String NativeMethodSample = PREFIX + "NativeMethodSample";
 79     public static final String ThreadDump = PREFIX + "ThreadDump";
 80     public static final String OldObjectSample = PREFIX + "OldObjectSample";
 81     public static final String SymbolTableStatistics = PREFIX + "SymbolTableStatistics";
 82     public static final String StringTableStatistics = PREFIX + "StringTableStatistics";
 83     public static final String RedefineClasses = PREFIX + "RedefineClasses";
 84     public static final String RetransformClasses = PREFIX + "RetransformClasses";
 85     public static final String ClassRedefinition = PREFIX + "ClassRedefinition";
 86     public static final String FinalizerStatistics = PREFIX + "FinalizerStatistics";
 87     public static final String NativeMemoryUsage = PREFIX + "NativeMemoryUsage";
 88     public static final String NativeMemoryUsageTotal = PREFIX + "NativeMemoryUsageTotal";
 89     public static final String JavaAgent = PREFIX + "JavaAgent";
 90     public static final String NativeAgent = PREFIX + "NativeAgent";
 91 
 92     // This event is hard to test
 93     public static final String ReservedStackActivation = PREFIX + "ReservedStackActivation";
 94 
 95     // GC
 96     public static final String GCHeapMemoryUsage = PREFIX + "GCHeapMemoryUsage";
 97     public static final String GCHeapMemoryPoolUsage = PREFIX + "GCHeapMemoryPoolUsage";
 98     public static final String GCHeapSummary = PREFIX + "GCHeapSummary";
 99     public static final String MetaspaceSummary = PREFIX + "MetaspaceSummary";
100     public static final String MetaspaceGCThreshold = PREFIX + "MetaspaceGCThreshold";
101     public static final String MetaspaceAllocationFailure = PREFIX + "MetaspaceAllocationFailure";
102     public static final String MetaspaceOOM = PREFIX + "MetaspaceOOM";
103     public static final String MetaspaceChunkFreeListSummary = PREFIX + "MetaspaceChunkFreeListSummary";
104     public static final String PSHeapSummary = PREFIX + "PSHeapSummary";
105     public static final String G1HeapSummary = PREFIX + "G1HeapSummary";
106     public static final String G1HeapRegionInformation = PREFIX + "G1HeapRegionInformation";
107     public static final String G1HeapRegionTypeChange = PREFIX + "G1HeapRegionTypeChange";
108     public static final String ShenandoahHeapRegionInformation = PREFIX + "ShenandoahHeapRegionInformation";
109     public static final String ShenandoahHeapRegionStateChange = PREFIX + "ShenandoahHeapRegionStateChange";
110     public static final String ShenandoahEvacuationInformation = PREFIX + "ShenandoahEvacuationInformation";
111     public static final String TenuringDistribution = PREFIX + "TenuringDistribution";
112     public static final String GarbageCollection = PREFIX + "GarbageCollection";
113     public static final String ParallelOldGarbageCollection = PREFIX + "ParallelOldGarbageCollection";
114     public static final String ParallelOldCollection = ParallelOldGarbageCollection;
115     public static final String YoungGarbageCollection = PREFIX + "YoungGarbageCollection";
116     public static final String OldGarbageCollection = PREFIX + "OldGarbageCollection";
117     public static final String G1GarbageCollection = PREFIX + "G1GarbageCollection";
118     public static final String G1MMU = PREFIX + "G1MMU";
119     public static final String EvacuationInformation = PREFIX + "EvacuationInformation";
120     public static final String GCReferenceStatistics = PREFIX + "GCReferenceStatistics";
121     public static final String ObjectCountAfterGC = PREFIX + "ObjectCountAfterGC";
122     public static final String PromoteObjectInNewPLAB = PREFIX + "PromoteObjectInNewPLAB";
123     public static final String PromoteObjectOutsidePLAB = PREFIX + "PromoteObjectOutsidePLAB";
124     public static final String PromotionFailed = PREFIX + "PromotionFailed";
125     public static final String EvacuationFailed = PREFIX + "EvacuationFailed";
126     public static final String ConcurrentModeFailure = PREFIX + "ConcurrentModeFailure";
127     public static final String GCPhasePause = PREFIX + "GCPhasePause";
128     public static final String GCPhasePauseLevel1 = PREFIX + "GCPhasePauseLevel1";
129     public static final String GCPhasePauseLevel2 = PREFIX + "GCPhasePauseLevel2";
130     public static final String GCPhasePauseLevel3 = PREFIX + "GCPhasePauseLevel3";
131     public static final String GCPhasePauseLevel4 = PREFIX + "GCPhasePauseLevel4";
132     public static final String ObjectCount = PREFIX + "ObjectCount";
133     public static final String GCConfiguration = PREFIX + "GCConfiguration";
134     public static final String GCSurvivorConfiguration = PREFIX + "GCSurvivorConfiguration";
135     public static final String GCTLABConfiguration = PREFIX + "GCTLABConfiguration";
136     public static final String GCHeapConfiguration = PREFIX + "GCHeapConfiguration";
137     public static final String YoungGenerationConfiguration = PREFIX + "YoungGenerationConfiguration";
138     public static final String G1AdaptiveIHOP = PREFIX + "G1AdaptiveIHOP";
139     public static final String G1EvacuationYoungStatistics = PREFIX + "G1EvacuationYoungStatistics";
140     public static final String G1EvacuationOldStatistics = PREFIX + "G1EvacuationOldStatistics";
141     public static final String G1BasicIHOP = PREFIX + "G1BasicIHOP";
142     public static final String AllocationRequiringGC = PREFIX + "AllocationRequiringGC";
143     public static final String GCPhaseParallel = PREFIX + "GCPhaseParallel";
144     public static final String GCPhaseConcurrent = PREFIX + "GCPhaseConcurrent";
145     public static final String GCPhaseConcurrentLevel1 = PREFIX + "GCPhaseConcurrentLevel1";
146     public static final String GCPhaseConcurrentLevel2 = PREFIX + "GCPhaseConcurrentLevel2";
147     public static final String ZYoungGarbageCollection = PREFIX + "ZYoungGarbageCollection";
148     public static final String ZOldGarbageCollection = PREFIX + "ZOldGarbageCollection";
149     public static final String ZAllocationStall = PREFIX + "ZAllocationStall";
150     public static final String ZPageAllocation = PREFIX + "ZPageAllocation";
151     public static final String ZRelocationSet = PREFIX + "ZRelocationSet";
152     public static final String ZRelocationSetGroup = PREFIX + "ZRelocationSetGroup";
153     public static final String ZUncommit = PREFIX + "ZUncommit";
154     public static final String ZUnmap = PREFIX + "ZUnmap";
155     public static final String GCLocker = PREFIX + "GCLocker";
156     public static final String SystemGC = PREFIX + "SystemGC";
157     public static final String GCCPUTime = PREFIX + "GCCPUTime";
158 
159     // Compiler
160     public static final String Compilation = PREFIX + "Compilation";
161     public static final String CompilerPhase = PREFIX + "CompilerPhase";
162     public static final String CompilationFailure = PREFIX + "CompilationFailure";
163     public static final String CompilerInlining = PREFIX + "CompilerInlining";
164     public static final String CompilerStatistics = PREFIX + "CompilerStatistics";
165     public static final String CompilerConfiguration = PREFIX + "CompilerConfiguration";
166     public static final String CodeCacheStatistics = PREFIX + "CodeCacheStatistics";
167     public static final String CodeCacheConfiguration = PREFIX + "CodeCacheConfiguration";
168     public static final String CodeCacheFull = PREFIX + "CodeCacheFull";
169     public static final String ObjectAllocationInNewTLAB = PREFIX + "ObjectAllocationInNewTLAB";
170     public static final String ObjectAllocationOutsideTLAB = PREFIX + "ObjectAllocationOutsideTLAB";
171     public static final String ObjectAllocationSample = PREFIX + "ObjectAllocationSample";
172     public static final String Deoptimization = PREFIX + "Deoptimization";
173     public static final String JITRestart = PREFIX + "JITRestart";
174 
175     // OS
176     public static final String OSInformation = PREFIX + "OSInformation";
177     public static final String VirtualizationInformation = PREFIX + "VirtualizationInformation";
178     public static final String CPUInformation = PREFIX + "CPUInformation";
179     public static final String CPULoad = PREFIX + "CPULoad";
180     public static final String ThreadCPULoad = PREFIX + "ThreadCPULoad";
181     public static final String SystemProcess = PREFIX + "SystemProcess";
182     public static final String ThreadContextSwitchRate = PREFIX + "ThreadContextSwitchRate";
183     public static final String InitialEnvironmentVariable = PREFIX + "InitialEnvironmentVariable";
184     public static final String NativeLibrary = PREFIX + "NativeLibrary";
185     public static final String PhysicalMemory = PREFIX + "PhysicalMemory";
186     public static final String NetworkUtilization = PREFIX + "NetworkUtilization";
187     public static final String ProcessStart = PREFIX + "ProcessStart";
188     public static final String ResidentSetSize = PREFIX + "ResidentSetSize";
189 
190     // JDK
191     public static final String FileForce  = PREFIX + "FileForce";
192     public static final String FileRead = PREFIX + "FileRead";
193     public static final String FileWrite = PREFIX + "FileWrite";
194     public static final String SocketRead = PREFIX + "SocketRead";
195     public static final String SocketWrite = PREFIX + "SocketWrite";
196     public static final String ExceptionStatistics = PREFIX + "ExceptionStatistics";
197     public static final String JavaExceptionThrow = PREFIX + "JavaExceptionThrow";
198     public static final String JavaErrorThrow = PREFIX + "JavaErrorThrow";
199     public static final String ModuleRequire = PREFIX + "ModuleRequire";
200     public static final String ModuleExport = PREFIX + "ModuleExport";
201     public static final String TLSHandshake = PREFIX + "TLSHandshake";
202     public static final String X509Certificate = PREFIX + "X509Certificate";
203     public static final String X509Validation = PREFIX + "X509Validation";
204     public static final String InitialSecurityProperty = PREFIX + "InitialSecurityProperty";
205     public static final String SecurityProperty = PREFIX + "SecurityPropertyModification";
206     public static final String SecurityProviderService = PREFIX + "SecurityProviderService";
207     public static final String DirectBufferStatistics = PREFIX + "DirectBufferStatistics";
208     public static final String Deserialization = PREFIX + "Deserialization";
209     public static final String VirtualThreadStart = PREFIX + "VirtualThreadStart";
210     public static final String VirtualThreadEnd = PREFIX + "VirtualThreadEnd";
211     public static final String VirtualThreadPinned = PREFIX + "VirtualThreadPinned";
212     public static final String VirtualThreadSubmitFailed = PREFIX + "VirtualThreadSubmitFailed";
213 
214     // Containers
215     public static final String ContainerConfiguration = PREFIX + "ContainerConfiguration";
216     public static final String ContainerCPUUsage = PREFIX + "ContainerCPUUsage";
217     public static final String ContainerCPUThrottling = PREFIX + "ContainerCPUThrottling";
218     public static final String ContainerMemoryUsage = PREFIX + "ContainerMemoryUsage";
219     public static final String ContainerIOUsage = PREFIX + "ContainerIOUsage";
220 
221     // Flight Recorder
222     public static final String DumpReason = PREFIX + "DumpReason";
223     public static final String DataLoss = PREFIX + "DataLoss";
224     public static final String CPUTimeStampCounter = PREFIX + "CPUTimeStampCounter";
225     public static final String ActiveRecording = PREFIX + "ActiveRecording";
226     public static final String ActiveSetting = PREFIX + "ActiveSetting";
227     public static final String Flush = PREFIX + "Flush";
228 
229     // Diagnostics
230     public static final String HeapDump = PREFIX + "HeapDump";
231 
232     public static boolean isGcEvent(EventType et) {
233         return et.getCategoryNames().contains(GC_CATEGORY);
234     }
235 
236 }