- java.lang.Object
-
- 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プリミティブです:
boolean
、char
、byte
、short
、int
、long
、float
およびdouble
である。 さらに、次の参照型がサポートされています:String
、Thread
およびClass
。 配列、列挙型、およびその他の参照型は、静かに無視され、含まれません。 サポートされている型のフィールドは、transient修飾子を使用することで除外できます。 静的フィールドは、サポートされている型であっても含まれません。ツールが意味のある方法でデータを視覚化するためには、注釈を使用:
Label
、Description
および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
が戻されます。
-
-
-
メソッドの詳細
-
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
-index
が0
より小さいか、イベントのフィールド数より大きいか等しい- 関連項目:
EventType.getFields()
,EventFactory
-
-