Spec-Zone.ru › OpenJDK 24

Класс Event

java.lang.Object
jdk.jfr.Event
public abstract class Event extends Object
Базовый класс для событий, который необходимо наследовать для определения событий и их полей.

Следующий пример демонстрирует реализацию класса Event.

public class Example {

    @Label("Hello World")
    @Description("Helps programmer getting started")
    static class HelloWorld extends Event {
        @Label("Message")
        String message;
    }

    public static void main(String... args) {
        HelloWorld event = new HelloWorld();
        event.message = "hello, world!";
        event.commit();
    }
}

После выделения события и заполнения его членов-полей, его можно записать в систему Flight Recorder, используя метод commit().

По умолчанию событие включено. Для отключения события, добавьте аннотацию @Enabled(false) к классу Event.

Поддерживаемые типы полей — это примитивные типы Java: boolean, char, byte, short, int, long, float и double. Поддерживаемые ссылочные типы — это: String, Thread и Class. Массивы, перечисления и другие ссылочные типы игнорируются и не включаются. Поля, имеющие поддерживаемые типы, могут быть исключены с помощью модификатора transient. Статические поля, даже имеющие поддерживаемые типы, не включаются.

Инструменты могут визуализировать данные осмысленным образом при использовании аннотаций (например, Label, Description и Timespan). Аннотации, применённые к классу Event или его полям, включаются, если они присутствуют (косвенно, непосредственно или в ассоциации), содержат аннотацию MetadataDefinition и не содержат перечислений, массивов или классов.

Сбор данных для хранения в событии может быть затратным. Метод shouldCommit() можно использовать для проверки, будет ли экземпляр события фактически записан в систему при вызове метода commit(). Если метод shouldCommit() возвращает false, то эти операции можно избежать.

С момента:
9

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

Event()
Модификатор Конструктор Описание
protected
Единственный конструктор, предназначенный для вызова подклассами, как правило, неявный.

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

Модификатор и тип Метод Описание
final void begin()
Начинает отсчёт времени этого события.
final void commit()
Записывает значения полей, метку времени и продолжительность события в систему Flight Recorder.
final void end()
Завершает отсчёт времени этого события.
final boolean isEnabled()
Возвращает true, если хотя бы одна запись активна и значение включения для этого события установлено в true, в противном случае возвращает false.
final void set(int index, Object value)
Устанавливает значение поля.
final boolean shouldCommit()
Возвращает true, если значение включения для этого события установлено в true и продолжительность находится в пределах порога для события, иначе false.

Методы, унаследованные от класса java.lang.Object

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

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

Event

protected Event()
Единственный конструктор, предназначенный для вызова подклассами, как правило, неявный.

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

begin

public final void begin()
Начинает отсчёт времени этого события.

end

public final void end()
Завершает отсчёт времени этого события. Метод end должен вызываться после метода begin.

commit

public final void commit()
Записывает значения полей, метку времени и продолжительность события в систему Flight Recorder.

Если событие начинается с вызова метода begin, но не завершается явным вызовом метода end, то событие завершается при вызове метода commit.

isEnabled

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

shouldCommit

public final boolean shouldCommit()
Возвращает true, если значение включения для этого события установлено в true и продолжительность находится в пределах порога для события, иначе false. Порог — это минимальный порог для всех активных записей.
Возвращает:
true, если событие может быть записано в систему Flight Recorder, false в противном случае

set

public final void set(int index, Object value)
Устанавливает значение поля.

Применимо только в случае, если событие динамически определено с помощью класса EventFactory.

Переданное значение index соответствует индексу объекта ValueDescriptor, переданного в метод-фабрику класса EventFactory.

Параметры:
index — индекс поля, который передается методу EventFactory.create(java.util.List, java.util.List)
value — значение для установки, может быть null
Исключения:
UnsupportedOperationException — если это не динамически генерируемое событие
IndexOutOfBoundsException — если значение index меньше 0 или больше или равно количеству полей, указанных для события
См. также:
  • EventType.getFields()
  • EventFactory

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/jdk.jfr/jdk/jfr/Event.html

Spec-Zone.ru

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