Module jdk.jfr
Package jdk.jfr

Class EventType


  • public final class EventType
    extends Object
    Describes an event, its fields, settings and annotations.
    Since:
    9
    • Method Detail

      • getFields

        public List<ValueDescriptor> getFields()
        Returns an immutable list of descriptors describing 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.
        Returns:
        a value descriptor describing the field, or null if the field with given name doesn't exist
      • getName

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

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

        Returns:
        the name, not null
        See Also:
        Name
      • 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 has not been set
        See Also:
        Label
      • getId

        public long getId()
        Returns a unique id for the event in the JVM.
        Returns:
        the id
      • getAnnotationElements

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

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

        By default events are enabled, but behavior can be changed by annotating event with @Enabled(false). Enablement can always be overridden by setting the "enabled" setting to "true" or "false", programmatically or by using a configuration file.

        Returns:
        true if event is enabled, false otherwise
        See Also:
        Enabled, Recording.enable(Class)
      • 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:
        Description
      • 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, else null.
        Type Parameters:
        A - the type of the annotation to query for and return if present
        Parameters:
        annotationClass - the Class object corresponding 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 not present.
        Parameters:
        eventClass - the event class, not null
        Returns:
        the event class, or null if class is not available
        Throws:
        IllegalArgumentException - if eventClass is an abstract class
        IllegalStateException - if the class was annotated with Registered(false), but never registered manually
      • getSettingDescriptors

        public List<SettingDescriptor> getSettingDescriptors()
        Returns an immutable list of setting descriptors that describes available event settings for this EventType.
        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 category for this event type, for instance "Java Application", "Statistics".
        Returns:
        an immutable list of category names, or a list with the name "Uncategorized" if no category has been set
        See Also:
        Category