Spec-Zone.ru › OpenJDK 27

Класс EventType

java.lang.Object
jdk.jfr.EventType
public final class EventType extends Object
Описывает событие, его поля, настройки и аннотации.

В следующем примере показано, как класс EventType можно использовать для вывода метаданных о событии.

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();
}
Начиная с:
9

Краткое описание методов

Модификатор и тип Метод Описание
<A extends Annotation>
A
getAnnotation(Class<A> annotationClass)
Возвращает первую аннотацию указанного типа, если элемент аннотации с таким же именем присутствует непосредственно; в противном случае возвращает null.
List<AnnotationElement> getAnnotationElements()
Возвращает неизменяемый список элементов аннотаций для этого типа события.
List<String> getCategoryNames()
Возвращает список понятных человеку названий, составляющих категории этого типа события (например, "Java Application", "Statistics").
String getDescription()
Возвращает краткое предложение с описанием класса события.
static EventType getEventType(Class<? extends Event> eventClass)
Возвращает тип события для класса события или null, если он не существует.
ValueDescriptor getField(String name)
Возвращает поле с указанным именем или null, если оно не существует.
List<ValueDescriptor> getFields()
Возвращает неизменяемый список дескрипторов, описывающих поля события этого типа.
long getId()
Возвращает уникальный идентификатор этого типа события в виртуальной машине Java (JVM).
String getLabel()
Возвращает понятное человеку имя (например, "CPU Load").
String getName()
Возвращает идентификатор события (например, "jdk.CPULoad").
List<SettingDescriptor> getSettingDescriptors()
Возвращает неизменяемый список дескрипторов настроек, описывающих доступные настройки событий для этого типа события.
boolean isEnabled()
Возвращает true, если событие включено и выполняется хотя бы одна запись; в противном случае возвращает false.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
protected void finalize()
Устарело и подлежит удалению: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода для этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание методов

getFields

public List<ValueDescriptor> getFields()
Возвращает неизменяемый список дескрипторов, описывающих поля события этого типа.
Возвращает:
список дескрипторов полей, не null

getField

public ValueDescriptor getField(String name)
Возвращает поле с указанным именем или null, если оно не существует.

Вложенное поле можно индексировать, используя "." (например, "thread.group.parent.name").

Параметры:
name — имя получаемого поля, не null
Возвращает:
дескриптор значения, описывающий поле, или null, если поле с указанным именем не существует

getName

public String getName()
Возвращает идентификатор события (например, "jdk.CPULoad").

Если имя не задано с помощью аннотации Name, идентификатором является полное имя класса события.

Возвращает:
имя, не null
См. также:
  • Name

getLabel

public String getLabel()
Возвращает понятное человеку имя (например, "CPU Load").

Метку класса события можно задать с помощью Label.

Возвращает:
метку или null, если метка не задана
См. также:
  • Label

getId

public long getId()
Возвращает уникальный идентификатор этого типа события в виртуальной машине Java (JVM).
Возвращает:
идентификатор, используемый в JVM

getAnnotationElements

public List<AnnotationElement> getAnnotationElements()
Возвращает неизменяемый список элементов аннотаций для этого типа события.
Возвращает:
неизменяемый список аннотаций или пустой список, если аннотаций нет, не null

isEnabled

public boolean isEnabled()
Возвращает true, если событие включено и выполняется хотя бы одна запись; в противном случае возвращает false.

По умолчанию событие включено. Событие можно включить или отключить, установив параметр enabled в значение true или false программным способом либо с помощью файла конфигурации. Событие также можно отключить, добавив к нему аннотацию @Enabled(false).

Возвращает:
true, если событие включено, иначе false
См. также:
  • Enabled
  • Recording.enable(Class)

getDescription

public String getDescription()
Возвращает краткое предложение с описанием класса события.

Описание класса события можно задать с помощью Description.

Возвращает:
описание или null, если описание отсутствует
См. также:
  • Description

getAnnotation

public <A extends Annotation> A getAnnotation(Class<A> annotationClass)
Возвращает первую аннотацию указанного типа, если элемент аннотации с таким же именем присутствует непосредственно; в противном случае возвращает null.
Параметры типа:
A — тип аннотации, которую требуется запросить и вернуть, если она присутствует
Параметры:
annotationClass — объект Class, соответствующий типу аннотации, не null
Возвращает:
аннотацию этого элемента указанного типа, если она присутствует непосредственно; иначе null

getEventType

public static EventType getEventType(Class<? extends Event> eventClass)
Возвращает тип события для класса события или null, если он не существует.
Параметры:
eventClass — класс события, не null
Возвращает:
класс события или null, если класс не существует
Исключения:
IllegalArgumentException — если eventClass является абстрактным классом
IllegalStateException — если класс аннотирован с помощью Registered(false), но не зарегистрирован вручную

getSettingDescriptors

public List<SettingDescriptor> getSettingDescriptors()
Возвращает неизменяемый список дескрипторов настроек, описывающих доступные настройки событий для этого типа события.
Возвращает:
список дескрипторов настроек для этого типа события, не null

getCategoryNames

public List<String> getCategoryNames()
Возвращает список понятных человеку названий, составляющих категории этого типа события (например, "Java Application", "Statistics").
Возвращает:
неизменяемый список названий категорий или список с именем "Uncategorized", если категория не задана
См. также:
  • Category

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API