このクラスは、レコーディングの作成、起動、停止および破棄に必要なメソッドを提供します。
- 導入されたバージョン:
- 9
- 
メソッドのサマリー修飾子と型メソッド説明static voidaddListener(FlightRecorderListener changeListener)レコーダのリスナーを追加し、リスナーの起動時に使用するAccessControlContextを取得します。static voidaddPeriodicEvent(Class<? extends Event> eventClass, Runnable hook)定期イベントのフックを追加します。現在登録されているすべてのイベントを含む不変のリストを返します。static FlightRecorderプラットフォーム用のFlight Recorderを返します。使用可能なレコーディングの不変のリストを返します。static booleanJava Virtual Machine (JVM)のFlight Recorder機能がある場合は、trueを返します。static booleanFlight Recorderが初期化されている場合にtrueを返します。static voidイベント・クラスを登録します。static booleanremoveListener(FlightRecorderListener changeListener)レコーダ・リスナーを削除します。static booleanremovePeriodicEvent(Runnable hook)定期イベントのフックを削除します。使用可能なすべての記録済データのスナップショットを作成します。static voidunregister(Class<? extends Event> eventClass)イベント・クラスの登録を解除します。
- 
メソッドの詳細- 
getRecordings使用可能なレコーディングの不変のリストを返します。レコーディングは、作成時に使用可能になります。 Recording.close()をコールした後、通常はCLOSED状態にある場合は使用できなくなります。- 戻り値:
- nullではなく、レコーディングのリスト
 
- 
takeSnapshotpublic Recording takeSnapshot()使用可能なすべての記録済データのスナップショットを作成します。スナップショットは、 STOPPED状態での合成されたレコーディングです。 データが使用できない場合、サイズが0のレコーディングが返されます。スナップショットによって、後の操作である(たとえば、間隔の変更やデータ・サイズの縮小のための操作)のデータに安定したアクセスが提供されます。 次の例は、スナップショットを作成し、ファイルにデータのサブセットを書き込む方法を示しています。 try (Recording snapshot = FlightRecorder.getFlightRecorder().takeSnapshot()) { if (snapshot.getSize() > 0) { snapshot.setMaxSize(100_000_000); snapshot.setMaxAge(Duration.ofMinutes(5)); snapshot.dump(Paths.get("snapshot.jfr")); } }データへのアクセスが不要になった場合、呼出し側はレコーディングを閉じる必要があります。- 戻り値:
- nullではなく、利用可能なすべてのレコーディング・データのスナップショット
 
- 
registerイベント・クラスを登録します。イベント・クラスがすでに登録されている場合、このメソッドの呼出しは無視されます。 - パラメータ:
- eventClass- 登録するイベント・クラス(- nullではない)
- 例外:
- IllegalArgumentException- クラスが抽象であるか、- Eventのサブクラスでない場合
- SecurityException- セキュリティ・マネージャが存在し、呼び出し元に- FlightRecorderPermission("registerEvent")がない場合
 
- 
unregisterイベント・クラスの登録を解除します。イベント・クラスが登録されていない場合、このメソッドの呼出しは無視されます。 - パラメータ:
- eventClass-- nullではなく、登録解除するイベント・クラス
- 例外:
- IllegalArgumentException- クラスが抽象であるか、- Eventのサブクラスでない場合
- SecurityException- セキュリティ・マネージャが存在し、呼び出し元に- FlightRecorderPermission("registerEvent")がない場合
 
- 
getFlightRecorderpublic static FlightRecorder getFlightRecorder() throws IllegalStateException, SecurityExceptionプラットフォーム用のFlight Recorderを返します。- 戻り値:
- nullではなくFlight Recorderのインスタンス
- 例外:
- IllegalStateException- flight Recorderを(たとえば、Java Virtual Machine (JVM)にFlight Recorderのサポートがない場合や、ファイル・リポジトリを作成したり、アクセスできない場合などです。)の作成できないか
- SecurityException- セキュリティ・マネージャが存在し、呼び出し元に- FlightRecorderPermission("accessFlightRecorder")がない場合
 
- 
addPeriodicEventpublic static void addPeriodicEvent(Class<? extends Event> eventClass, Runnable hook) throws SecurityException定期イベントのフックを追加します。フックの実装は、他のFlight Recorder操作をブロックしないように、できるだけ早く返す必要があります。 フックは、指定されたタイプのイベントを1つ以上発行する必要があります。 フックが追加されると、呼出しが呼び出される間隔は "period"設定を使用して構成可能になります。- パラメータ:
- eventClass- フックを実行する必要があるクラス(- nullではない)
- hook- フック、- nullではない
- 例外:
- IllegalArgumentException- クラスが- Eventのサブクラスでない場合、抽象クラスである場合、またはフックがすでに追加されている場合
- IllegalStateException- イベント・クラスに- Registered(false)注釈があり、手動で登録されていない場合
- SecurityException- セキュリティ・マネージャが存在し、呼び出し元に- FlightRecorderPermission("registerEvent")がない場合
 
- 
removePeriodicEventpublic static boolean removePeriodicEvent(Runnable hook) throws SecurityException定期イベントのフックを削除します。- パラメータ:
- hook- 削除するフック、- nullではない
- 戻り値:
- フックが削除されるとtrue、それ以外の場合はfalse
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、呼び出し元に- FlightRecorderPermission("registerEvent")がない場合
 
- 
getEventTypes現在登録されているすべてのイベントを含む不変のリストを返します。デフォルトでは、イベントは最初に使用されたときに登録されます。通常、イベント・オブジェクトが割り当てられたときに登録されます。 イベントが早期に表示されるようにするには、 register(Class)メソッドを起動して登録をトリガーします。- 戻り値:
- nullではなく、イベントのリスト
 
- 
addListenerpublic static void addListener(FlightRecorderListener changeListener)レコーダのリスナーを追加し、リスナーの起動時に使用するAccessControlContextを取得します。Flight Recorderがリスナーの追加時にすでに初期化されている場合は、このメソッドから戻る前に FlightRecorderListener.recorderInitialized(FlightRecorder)メソッドが呼び出されます。- パラメータ:
- changeListener- リスナーは- nullではなく追加
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、呼び出し元に- FlightRecorderPermission("accessFlightRecorder")がない場合
 
- 
removeListenerpublic static boolean removeListener(FlightRecorderListener changeListener)レコーダ・リスナーを削除します。同じリスナーが複数回追加された場合、1つのインスタンスのみが削除されます。 - パラメータ:
- changeListener- 削除するリスナー、- nullではありません
- 戻り値:
- リスナーを削除できる場合はtrue、それ以外の場合はfalse
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、呼び出し元に- FlightRecorderPermission("accessFlightRecorder")がない場合
 
- 
isAvailablepublic static boolean isAvailable()Java Virtual Machine (JVM)のFlight Recorder機能がある場合は、trueを返します。このメソッドでは、初期化作業を実際に実行せずに、Flight Recorderを初期化できるかどうかを迅速にチェックできます。 実行時に値が変更される可能性があり、キャッシュするのは安全ではありません。 - 戻り値:
- true、Flight Recorderが使用可能な場合は- true、それ以外の場合は- false
- 関連項目:
- for callback when Flight Recorder is initialized
 
- 
isInitializedpublic static boolean isInitialized()Flight Recorderが初期化されている場合にtrueを返します。- 戻り値:
- true、Flight Recorderが初期化されると- true、それ以外の場合は- false
- 関連項目:
- for callback when Flight Recorder is initialized
 
 
-