次の例は、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プリミティブです: boolean、char、byte、short、int、long、floatおよびdouble。 サポートされている参照タイプは次のとおりです: String、ThreadおよびClass。 配列、列挙およびその他の参照型は暗黙的に無視され、含まれません。 サポートされている型のフィールドは、transient修飾子を使用することで除外できます。 静的フィールドは、サポートされている型であっても含まれません。
注釈が(たとえば、Label、DescriptionおよびTimespanなどです。)を使用すると、ツールによってデータがわかりやすい方法でビジュアル化されます。 Eventクラスまたはそのフィールドに適用される注釈は、(間接的、直接または関連付けられている)が存在し、MetadataDefinitionアノテーションがあり、列挙、配列またはクラスが含まれていない場合に含まれます。
イベントに格納するデータの収集にはコストがかかる場合があります。 shouldCommit()メソッドを使用すると、commit()メソッドが呼び出されたときにイベント・インスタンスが実際にシステムに書き込まれるかどうかを検証できます。 shouldCommit()がfalseを返す場合は、これらの操作を回避できます。
- 導入されたバージョン:
- 9
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明final voidbegin()このイベントのタイミングを開始します。final voidcommit()フィールド値、タイムスタンプおよびイベント期間をFlight Recorderシステムに書き込みます。final voidend()このイベントのタイミングを終了します。final boolean少なくとも1つのレコーディングが実行されている場合はtrueを返し、このイベントの有効な設定をtrueに設定します。そうでない場合はfalseが返されます。final voidフィールド値を設定します。final booleanこのイベントに対して有効な設定がtrueに設定され、イベントのしきい値内に期間がある場合はtrueを返し、層でない場合は、false。
-
コンストラクタの詳細
-
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()少なくとも1つのレコーディングが実行されている場合はtrueを返し、このイベントの有効な設定をtrueに設定します。そうでない場合はfalseが返されます。- 戻り値:
- イベントが有効な場合は
true、それ以外の場合はfalse
-
shouldCommit
public final boolean shouldCommit()このイベントに対して有効な設定がtrueに設定され、イベントのしきい値内に期間がある場合はtrueを返し、層でない場合は、false。 しきい値は、すべての実行レコーディングの最小しきい値です。- 戻り値:
- イベントをFlight Recorderシステムに書き込める場合は
true、そうでない場合はfalse
-
set
public final void set(int index, Object value) フィールド値を設定します。イベントが
EventFactoryクラスを使用して動的に定義される場合にのみ適用されます。指定された
indexは、EventFactoryクラスのファクトリ・メソッドに渡されるValueDescriptorオブジェクトの索引に対応しています。- パラメータ:
index-EventFactory.create(java.util.List, java.util.List)に渡されるフィールドのインデックスvalue- 設定する値はnullです- スロー:
UnsupportedOperationException- 動的に生成されたイベントでない場合IndexOutOfBoundsException-indexが0以下、またはイベントに指定されたフィールド数以上であるかどうか- 関連項目:
-