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

クラスEvent

java.lang.Object
jdk.internal.event.Event
jdk.jfr.Event

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

次の例は、Eventクラスの実装方法を示しています。

 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 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
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    サブクラス・コンストラクタによる呼出しの場合は、通常は暗黙的コンストラクタです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    final void
    このイベントのタイミングを開始します。
    final void
    フィールド値、タイムスタンプおよびイベント期間をFlight Recorderシステムに書き込みます。
    final void
    end()
    このイベントのタイミングを終了します。
    final boolean
    少なくとも1つのレコーディングが実行されている場合はtrueを返し、このイベントの有効な設定をtrueに設定します。そうでない場合はfalseが返されます。
    final void
    set(int index, Object value)
    フィールド値を設定します。
    final boolean
    このイベントに対して有効な設定が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()
      このイベントのタイミングを開始します。
      オーバーライド:
      クラスjdk.internal.event.Eventbegin
    • end

      public final void end()
      このイベントのタイミングを終了します。 endメソッドは、beginメソッドの後に呼び出す必要があります。
      オーバーライド:
      クラスjdk.internal.event.Eventend
    • commit

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

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

      オーバーライド:
      クラスjdk.internal.event.Eventcommit
    • isEnabled

      public final boolean isEnabled()
      少なくとも1つのレコーディングが実行されている場合はtrueを返し、このイベントの有効な設定をtrueに設定します。そうでない場合はfalseが返されます。
      オーバーライド:
      クラスjdk.internal.event.EventisEnabled
      戻り値:
      イベントが有効な場合はtrue、それ以外の場合はfalse
    • shouldCommit

      public final boolean shouldCommit()
      このイベントに対して有効な設定がtrueに設定され、イベントのしきい値内に期間がある場合はtrueを返し、層でない場合は、false しきい値は、すべての実行レコーディングの最小しきい値です。
      オーバーライド:
      クラスjdk.internal.event.EventshouldCommit
      戻り値:
      イベントをFlight Recorderシステムに書き込める場合はtrue、そうでない場合はfalse
    • set

      public final void set(int index, Object value)
      フィールド値を設定します。

      イベントがEventFactoryクラスを使用して動的に定義される場合にのみ適用されます。

      指定されたindexは、EventFactoryクラスのファクトリ・メソッドに渡されるValueDescriptorオブジェクトの索引に対応しています。

      オーバーライド:
      クラスjdk.internal.event.Eventset
      パラメータ:
      index - EventFactory.create(java.util.List, java.util.List)に渡されるフィールドのインデックス
      value - 設定する値はnullです
      例外:
      UnsupportedOperationException - 動的に生成されたイベントでない場合
      IndexOutOfBoundsException - index0以下、またはイベントに指定されたフィールド数以上であるかどうか
      関連項目: