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

クラスEvent



  • public abstract class Event
    extends Object
    イベントのベース・クラスで、イベントとそのフィールドを定義するためにサブクラス化されます。

    例,

     
     import jdk.jfr.Event;
     import jdk.jfr.Description;
     import jdk.jfr.Label;
    
     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 hwe = new HelloWorld();
           hwe.message = "hello, world!";
           hwe.commit();
       }
     }
     
     

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

    イベントはデフォルトで有効になっていますが、@Enabled(false)でイベント・クラスに注釈を付けることで無効にすることができます。

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

    ツールが意味のある方法でデータを視覚化するためには、注釈を使用: LabelDescriptionおよびTimespan イベント・クラスまたはそのフィールドに適用される注釈は、(間接的に、直接的にまたは関連して)が存在し、MetadataDefinition注釈を持ち、列挙型、配列またはクラスを含まない場合に含まれます。

    commit()が呼び出されたときに、このイベント・インスタンスが実際にシステムに書き込まれるかどうかを確認するために、shouldCommit()メソッドを使用してデータ収集操作を実行すると、イベントを取り込むために高価であるとみなされます。 shouldCommit()がfalseを返すと、それらの操作は回避できます。

    導入されたバージョン:
    9
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected Event​()
      唯一のコンストラクタです。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      void begin​()
      このイベントのタイミングを開始します。
      void commit​()
      Flight Recorderシステムにフィールド値、タイムスタンプ、イベント期間を書き込みます。
      void end​()
      このイベントのタイミングを終了します。
      boolean isEnabled​()
      少なくとも1つの記録が実行されている場合はtrueを返し、このイベントの有効な設定をtrueに設定します。そうでない場合はfalseが返されます。
      void set​(int index, Object value)
      フィールド値を設定します.EventFactoryを使用してイベントが動的に定義されている場合にのみ適用されます。
      boolean shouldCommit​()
      イベントが使用可能になっている場合にtrueを戻します。また、開始から終了までの呼び出し時間がイベントのしきい値内にある場合はfalseが戻されます。
    • コンストラクタの詳細

      • Event

        protected Event​()
        唯一のコンストラクタです。 サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。
    • メソッドの詳細

      • begin

        public final void begin​()
        このイベントのタイミングを開始します。
      • end

        public final void end​()
        このイベントのタイミングを終了します。 メソッドはbeginメソッドの後に呼び出さなければなりません
      • commit

        public final void commit​()
        Flight Recorderシステムにフィールド値、タイムスタンプ、イベント期間を書き込みます。

        イベントがbeginの呼び出しで開始され、endへの明示的な呼び出しで終了しなかった場合、イベントはcommitメソッドが呼び出されると終了します。

      • isEnabled

        public final boolean isEnabled​()
        少なくとも1つの記録が実行されている場合はtrueを返し、このイベントの有効な設定をtrueに設定します。そうでない場合はfalseが返されます。
        戻り値:
        イベントが有効な場合はtrue、それ以外の場合はfalse
      • shouldCommit

        public final boolean shouldCommit​()
        イベントが使用可能になっている場合にtrueを戻します。また、開始から終了までの呼び出し時間がイベントのしきい値内にある場合はfalseが戻されます。 しきい値は、実行中のすべての記録の最小しきい値を取ることによって決定されます。
        戻り値:
        イベントがコミットできる場合はtrue、それ以外の場合はfalse
      • set

        public final void set​(int index,
                              Object value)
        フィールド値を設定します.EventFactoryを使用してイベントが動的に定義されている場合にのみ適用されます。

        指定されたインデックスは、イベント・ファクトリの作成時に渡されたValueDescriptorのフィールドの索引に対応します。

        パラメータ:
        index - EventFactory#create(String, java.util.List, java.util.List)に渡されたフィールドのインデックス
        value - 設定する値は、null
        例外:
        UnsupportedOperationException - 動的に生成されたイベントでない場合
        IndexOutOfBoundsException - index0より小さいか、イベントのフィールド数より大きいか等しい
        関連項目:
        EventType.getFields(), EventFactory