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 TenuringDistribution = PREFIX + "TenuringDistribution";
111     public static final String GarbageCollection = PREFIX + "GarbageCollection";
112     public static final String ParallelOldGarbageCollection = PREFIX + "ParallelOldGarbageCollection";
113     public static final String ParallelOldCollection = ParallelOldGarbageCollection;
114     public static final String YoungGarbageCollection = PREFIX + "YoungGarbageCollection";
115     public static final String OldGarbageCollection = PREFIX + "OldGarbageCollection";
116     public static final String G1GarbageCollection = PREFIX + "G1GarbageCollection";
117     public static final String G1MMU = PREFIX + "G1MMU";
118     public static final String EvacuationInformation = PREFIX + "EvacuationInformation";
119     public static final String GCReferenceStatistics = PREFIX + "GCReferenceStatistics";
120     public static final String ObjectCountAfterGC = PREFIX + "ObjectCountAfterGC";
121     public static final String PromoteObjectInNewPLAB = PREFIX + "PromoteObjectInNewPLAB";
122     public static final String PromoteObjectOutsidePLAB = PREFIX + "PromoteObjectOutsidePLAB";
123     public static final String PromotionFailed = PREFIX + "PromotionFailed";
124     public static final String EvacuationFailed = PREFIX + "EvacuationFailed";
125     public static final String ConcurrentModeFailure = PREFIX + "ConcurrentModeFailure";
126     public static final String GCPhasePause = PREFIX + "GCPhasePause";
127     public static final String GCPhasePauseLevel1 = PREFIX + "GCPhasePauseLevel1";
128     public static final String GCPhasePauseLevel2 = PREFIX + "GCPhasePauseLevel2";
129     public static final String GCPhasePauseLevel3 = PREFIX + "GCPhasePauseLevel3";
130     public static final String GCPhasePauseLevel4 = PREFIX + "GCPhasePauseLevel4";
131     public static final String ObjectCount = PREFIX + "ObjectCount";
132     public static final String GCConfiguration = PREFIX + "GCConfiguration";
133     public static final String GCSurvivorConfiguration = PREFIX + "GCSurvivorConfiguration";
134     public static final String GCTLABConfiguration = PREFIX + "GCTLABConfiguration";
135     public static final String GCHeapConfiguration = PREFIX + "GCHeapConfiguration";
136     public static final String YoungGenerationConfiguration = PREFIX + "YoungGenerationConfiguration";
137     public static final String G1AdaptiveIHOP = PREFIX + "G1AdaptiveIHOP";
138     public static final String G1EvacuationYoungStatistics = PREFIX + "G1EvacuationYoungStatistics";
139     public static final String G1EvacuationOldStatistics = PREFIX + "G1EvacuationOldStatistics";
140     public static final String G1BasicIHOP = PREFIX + "G1BasicIHOP";
141     public static final String AllocationRequiringGC = PREFIX + "AllocationRequiringGC";
142     public static final String GCPhaseParallel = PREFIX + "GCPhaseParallel";
143     public static final String GCPhaseConcurrent = PREFIX + "GCPhaseConcurrent";
144     public static final String GCPhaseConcurrentLevel1 = PREFIX + "GCPhaseConcurrentLevel1";
145     public static final String GCPhaseConcurrentLevel2 = PREFIX + "GCPhaseConcurrentLevel2";
146     public static final String ZYoungGarbageCollection = PREFIX + "ZYoungGarbageCollection";
147     public static final String ZOldGarbageCollection = PREFIX + "ZOldGarbageCollection";
148     public static final String ZAllocationStall = PREFIX + "ZAllocationStall";
149     public static final String ZPageAllocation = PREFIX + "ZPageAllocation";
150     public static final String ZRelocationSet = PREFIX + "ZRelocationSet";
151     public static final String ZRelocationSetGroup = PREFIX + "ZRelocationSetGroup";
152     public static final String ZUncommit = PREFIX + "ZUncommit";
153     public static final String ZUnmap = PREFIX + "ZUnmap";
154     public static final String GCLocker = PREFIX + "GCLocker";
155     public static final String SystemGC = PREFIX + "SystemGC";
156     public static final String GCCPUTime = PREFIX + "GCCPUTime";
157 
158     // Compiler
159     public static final String Compilation = PREFIX + "Compilation";
160     public static final String CompilerPhase = PREFIX + "CompilerPhase";
161     public static final String CompilationFailure = PREFIX + "CompilationFailure";
162     public static final String CompilerInlining = PREFIX + "CompilerInlining";
163     public static final String CompilerStatistics = PREFIX + "CompilerStatistics";
164     public static final String CompilerConfiguration = PREFIX + "CompilerConfiguration";
165     public static final String CodeCacheStatistics = PREFIX + "CodeCacheStatistics";
166     public static final String CodeCacheConfiguration = PREFIX + "CodeCacheConfiguration";
167     public static final String CodeCacheFull = PREFIX + "CodeCacheFull";
168     public static final String ObjectAllocationInNewTLAB = PREFIX + "ObjectAllocationInNewTLAB";
169     public static final String ObjectAllocationOutsideTLAB = PREFIX + "ObjectAllocationOutsideTLAB";
170     public static final String ObjectAllocationSample = PREFIX + "ObjectAllocationSample";
171     public static final String Deoptimization = PREFIX + "Deoptimization";
172     public static final String JITRestart = PREFIX + "JITRestart";
173 
174     // OS
175     public static final String OSInformation = PREFIX + "OSInformation";
176     public static final String VirtualizationInformation = PREFIX + "VirtualizationInformation";
177     public static final String CPUInformation = PREFIX + "CPUInformation";
178     public static final String CPULoad = PREFIX + "CPULoad";
179     public static final String ThreadCPULoad = PREFIX + "ThreadCPULoad";
180     public static final String SystemProcess = PREFIX + "SystemProcess";
181     public static final String ThreadContextSwitchRate = PREFIX + "ThreadContextSwitchRate";
182     public static final String InitialEnvironmentVariable = PREFIX + "InitialEnvironmentVariable";
183     public static final String NativeLibrary = PREFIX + "NativeLibrary";
184     public static final String PhysicalMemory = PREFIX + "PhysicalMemory";
185     public static final String NetworkUtilization = PREFIX + "NetworkUtilization";
186     public static final String ProcessStart = PREFIX + "ProcessStart";
187     public static final String ResidentSetSize = PREFIX + "ResidentSetSize";
188 
189     // JDK
190     public static final String FileForce  = PREFIX + "FileForce";
191     public static final String FileRead = PREFIX + "FileRead";
192     public static final String FileWrite = PREFIX + "FileWrite";
193     public static final String SocketRead = PREFIX + "SocketRead";
194     public static final String SocketWrite = PREFIX + "SocketWrite";
195     public static final String ExceptionStatistics = PREFIX + "ExceptionStatistics";
196     public static final String JavaExceptionThrow = PREFIX + "JavaExceptionThrow";
197     public static final String JavaErrorThrow = PREFIX + "JavaErrorThrow";
198     public static final String ModuleRequire = PREFIX + "ModuleRequire";
199     public static final String ModuleExport = PREFIX + "ModuleExport";
200     public static final String TLSHandshake = PREFIX + "TLSHandshake";
201     public static final String X509Certificate = PREFIX + "X509Certificate";
202     public static final String X509Validation = PREFIX + "X509Validation";
203     public static final String InitialSecurityProperty = PREFIX + "InitialSecurityProperty";
204     public static final String SecurityProperty = PREFIX + "SecurityPropertyModification";
205     public static final String SecurityProviderService = PREFIX + "SecurityProviderService";
206     public static final String DirectBufferStatistics = PREFIX + "DirectBufferStatistics";
207     public static final String Deserialization = PREFIX + "Deserialization";
208     public static final String VirtualThreadStart = PREFIX + "VirtualThreadStart";
209     public static final String VirtualThreadEnd = PREFIX + "VirtualThreadEnd";
210     public static final String VirtualThreadPinned = PREFIX + "VirtualThreadPinned";
211     public static final String VirtualThreadSubmitFailed = PREFIX + "VirtualThreadSubmitFailed";
212 
213     // Containers
214     public static final String ContainerConfiguration = PREFIX + "ContainerConfiguration";
215     public static final String ContainerCPUUsage = PREFIX + "ContainerCPUUsage";
216     public static final String ContainerCPUThrottling = PREFIX + "ContainerCPUThrottling";
217     public static final String ContainerMemoryUsage = PREFIX + "ContainerMemoryUsage";
218     public static final String ContainerIOUsage = PREFIX + "ContainerIOUsage";
219 
220     // Flight Recorder
221     public static final String DumpReason = PREFIX + "DumpReason";
222     public static final String DataLoss = PREFIX + "DataLoss";
223     public static final String CPUTimeStampCounter = PREFIX + "CPUTimeStampCounter";
224     public static final String ActiveRecording = PREFIX + "ActiveRecording";
225     public static final String ActiveSetting = PREFIX + "ActiveSetting";
226     public static final String Flush = PREFIX + "Flush";
227 
228     // Diagnostics
229     public static final String HeapDump = PREFIX + "HeapDump";
230 
231     public static boolean isGcEvent(EventType et) {
232         return et.getCategoryNames().contains(GC_CATEGORY);
233     }
234 
235 }