モジュール jdk.jfr
パッケージ jdk.jfr

クラス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();
    }
}

イベントが割り当てられ、そのフィールド・メンバーが移入されると、commit()メソッドを使用してFlight Recorderシステムに書き込むことができます。

デフォルトでは、イベントは有効です。 イベントを無効にするには、Eventクラスに@Enabled(false)と注釈を付けます。

サポートされるフィールド・タイプはJavaプリミティブです: booleancharbyteshortintlongfloatおよびdouble サポートされている参照タイプは次のとおりです: StringThreadおよびClass 配列、列挙およびその他の参照型は暗黙的に無視され、含まれません。 サポートされている型のフィールドは、transient修飾子を使用することで除外できます。 静的フィールドは、サポートされている型であっても含まれません。

注釈が(たとえば、LabelDescriptionおよびTimespanなどです。)を使用すると、ツールによってデータがわかりやすい方法でビジュアル化されます。 Eventクラスまたはそのフィールドに適用される注釈は、(間接的、直接または関連付けられている)が存在し、MetadataDefinitionアノテーションがあり、列挙、配列またはクラスが含まれていない場合に含まれます。

イベントに格納するデータの収集にはコストがかかる場合があります。 shouldCommit()メソッドを使用すると、commit()メソッドが呼び出されたときにイベント・インスタンスが実際にシステムに書き込まれるかどうかを検証できます。 shouldCommit()がfalseを返す場合は、これらの操作を回避できます。

導入されたバージョン:
9