W3cubDocs

/OpenJDK 21

Class EventType

java.lang.Object
jdk.jfr.EventType
public final class EventType extends Object
Describes an event, its fields, settings and annotations.

The following example shows how the EventType class can be used to print metadata about an event.

for (EventType eventType : FlightRecorder.getFlightRecorder().getEventTypes()) {
    System.out.println("Event Type: " + eventType.getName());
    if (eventType.getLabel() != null) {
        System.out.println("Label: " + eventType.getLabel());
    }
    if (eventType.getDescription() != null) {
        System.out.println("Description: " + eventType.getDescription());
    }
    StringJoiner s = new StringJoiner(" / ");
    for (String category : eventType.getCategoryNames()) {
        s.add(category);
    }
    System.out.println("Category: " + s);
    System.out.println("Fields: " + eventType.getFields().size());
    System.out.println("Annotations: " + eventType.getAnnotationElements().size());
    System.out.println("Settings: " + eventType.getSettingDescriptors().size());
    System.out.println("Enabled: " + eventType.isEnabled());
    System.out.println();
}
Since:
9

Method Summary

Modifier and Type Method Description
<A extends Annotation>
A
getAnnotation(Class<A> annotationClass)
Returns the first annotation for the specified type if an annotation element with the same name is directly present, otherwise null.
List<AnnotationElement> getAnnotationElements()
Returns an immutable list of annotation elements for this event type.
List<String> getCategoryNames()
Returns the list of human-readable names that makes up the categories for this event type (for example, "Java Application", "Statistics").
String getDescription()
Returns a short sentence that describes the event class.
static EventType getEventType(Class<? extends Event> eventClass)
Returns the event type for an event class, or null if it doesn't exist.
ValueDescriptor getField(String name)
Returns the field with the specified name, or null if it doesn't exist.
List<ValueDescriptor> getFields()
Returns an immutable list of descriptors that describe the event fields of this event type.
long getId()
Returns a unique ID for this event type in the Java Virtual Machine (JVM).
String getLabel()
Returns a human-readable name (for example, "CPU Load").
String getName()
Returns an identifier for the event (for example, "jdk.CPULoad").
List<SettingDescriptor> getSettingDescriptors()
Returns an immutable list of the setting descriptors that describe the available event settings for this event type.
boolean isEnabled()
Returns true if the event is enabled and at least one recording is running, false otherwise.

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Details

getFields

public List<ValueDescriptor> getFields()
Returns an immutable list of descriptors that describe the event fields of this event type.
Returns:
the list of field descriptors, not null

getField

public ValueDescriptor getField(String name)
Returns the field with the specified name, or null if it doesn't exist.

It's possible to index into a nested field by using "." (for instance "thread.group.parent.name").

Parameters:
name - of the field to get, not null
Returns:
a value descriptor that describes the field, or null if the field with the specified name doesn't exist

getName

public String getName()
Returns an identifier for the event (for example, "jdk.CPULoad").

The identifier is the fully qualified name of the event class, if not set using the Name annotation.

Returns:
the name, not null
See Also:

getLabel

public String getLabel()
Returns a human-readable name (for example, "CPU Load").

The label of an event class can be set with Label.

Returns:
the label, or null if a label is not set
See Also:

getId

public long getId()
Returns a unique ID for this event type in the Java Virtual Machine (JVM).
Returns:
the ID that is used in the JVM

getAnnotationElements

public List<AnnotationElement> getAnnotationElements()
Returns an immutable list of annotation elements for this event type.
Returns:
an immutable list of annotations or an empty list if no annotations exists, not null

isEnabled

public boolean isEnabled()
Returns true if the event is enabled and at least one recording is running, false otherwise.

By default, the event is enabled. The event can be enabled or disabled by setting the enabled setting to true or false, programmatically or by using a configuration file. The event can also be disabled by annotating event with the @Enabled(false) annotation.

Returns:
true if event is enabled, false otherwise
See Also:

getDescription

public String getDescription()
Returns a short sentence that describes the event class.

The description of an event class can be set with Description.

Returns:
the description, or null if no description exists
See Also:

getAnnotation

public <A extends Annotation> A getAnnotation(Class<A> annotationClass)
Returns the first annotation for the specified type if an annotation element with the same name is directly present, otherwise null.
Type Parameters:
A - the type of the annotation to query for and return if present
Parameters:
annotationClass - the Class object that corresponds to the annotation type, not null
Returns:
this element's annotation for the specified annotation type if directly present, else null

getEventType

public static EventType getEventType(Class<? extends Event> eventClass)
Returns the event type for an event class, or null if it doesn't exist.
Parameters:
eventClass - the event class, not null
Returns:
the event class, or null if class doesn't exist
Throws:
IllegalArgumentException - if eventClass is an abstract class
IllegalStateException - if the class is annotated with Registered(false), but not manually registered

getSettingDescriptors

public List<SettingDescriptor> getSettingDescriptors()
Returns an immutable list of the setting descriptors that describe the available event settings for this event type.
Returns:
the list of setting descriptors for this event type, not null

getCategoryNames

public List<String> getCategoryNames()
Returns the list of human-readable names that makes up the categories for this event type (for example, "Java Application", "Statistics").
Returns:
an immutable list of category names, or a list with the name "Uncategorized" if no category is set
See Also:

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.jfr/jdk/jfr/EventType.html