- すべての実装されたインタフェース:
- AutoCloseable,- EventStream
public final class RecordingStream extends Object implements AutoCloseable, EventStream
次の例では、デフォルトの構成を使用してイベントを記録し、ガベージ・コレクション、CPUロードおよびJVM情報イベントを標準出力に出力する方法を示します。
 
 Configuration c = Configuration.getConfiguration("default");
 try (var rs = new RecordingStream(c)) {
     rs.onEvent("jdk.GarbageCollection", System.out::println);
     rs.onEvent("jdk.CPULoad", System.out::println);
     rs.onEvent("jdk.JVMInformation", System.out::println);
     rs.start();
   }
 }
 
 - 導入されたバージョン:
- 14
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 RecordingStream()現在のJVM (Java Virtual Machine)のイベント・ストリームを作成します。RecordingStream(Configuration configuration)構成の設定を使用してレコーディング・ストリームを作成します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 EventSettingsdisable(Class<? extends Event> eventClass)イベントを無効にします。EventSettingsdisable(String name)指定された名前のイベントを無効にします。EventSettingsenable(Class<? extends Event> eventClass)イベントを有効にします。EventSettingsenable(String name)指定された名前のイベントを有効にします。voidsetMaxAge(Duration maxAge)ストリームで保持される過去のデータの量を決定します。voidsetMaxSize(long maxSize)ストリーム用に保持されるデータ量を決定します。voidsetSettings(Map<String,String> settings)このレコーディング・ストリームのすべての設定を置換します。クラス java.lang.Objectで宣言されたメソッドclone、equals、finalize、getClass、hashCode、notify、notifyAll、toString、wait、wait、waitインタフェースjdk.jfr.consumer.EventStreamで宣言されたメソッドawaitTermination, awaitTermination, close, onClose, onError, onEvent, onEvent, onFlush, remove, setEndTime, setOrdered, setReuse, setStartTime, start, startAsync
- 
コンストラクタの詳細- 
RecordingStreampublic RecordingStream()現在のJVM (Java Virtual Machine)のイベント・ストリームを作成します。- 例外:
- IllegalStateException- flight Recorderを(たとえば、Java Virtual Machine (JVM)にFlight Recorderのサポートがない場合や、ファイル・リポジトリを作成したり、アクセスできない場合などです。)の作成できないか
- SecurityException- セキュリティ・マネージャが存在し、呼び出し元に- FlightRecorderPermission("accessFlightRecorder")がない場合
 
- 
RecordingStreampublic RecordingStream(Configuration configuration)構成の設定を使用してレコーディング・ストリームを作成します。次の例では、事前定義された構成を使用するレコーディング・ストリームの作成方法を示します。 var c = Configuration.getConfiguration("default"); try (var rs = new RecordingStream(c)) { rs.onEvent(System.out::println); rs.start(); }- パラメータ:
- configuration-- nullではなく、使用する設定が含まれている構成
- 例外:
- IllegalStateException- flight Recorderを(たとえば、Java Virtual Machine (JVM)にFlight Recorderのサポートがない場合や、ファイル・リポジトリを作成したり、アクセスできない場合などです。)の作成できないか
- SecurityException- セキュリティ・マネージャが使用され、FlightRecorderPermission "accessFlightRecorder"が設定されていない場合。
- 関連項目:
- Configuration
 
 
- 
- 
メソッドの詳細- 
enablepublic EventSettings enable(String name)指定された名前のイベントを有効にします。複数のイベントの名前が(たとえば、同じクラスが別のクラス・ローダーにロードされたとします。)である場合、名前と一致するすべてのイベントが有効になります。 特定のクラスを有効にするには、イベント・タイプIDの enable(Class)メソッドまたはString表現を使用します。- パラメータ:
- name-- nullではなく、イベントの設定
- 戻り値:
- nullではなく、さらなる構成のためのイベント設定
- 関連項目:
- EventType
 
- 
setSettingsこのレコーディング・ストリームのすべての設定を置換します。次の例では、"default"構成を使用して20秒記録し、その設定を"profile"構成に変更します。 Configuration defaultConfiguration = Configuration.getConfiguration("default"); Configuration profileConfiguration = Configuration.getConfiguration("profile"); try (var rs = new RecordingStream(defaultConfiguration) { rs.onEvent(System.out::println); rs.startAsync(); Thread.sleep(20_000); rs.setSettings(profileConfiguration.getSettings()); Thread.sleep(20_000); }- パラメータ:
- settings-- nullではなく、設定する設定
- 関連項目:
- Recording.setSettings(Map)
 
- 
enablepublic EventSettings enable(Class<? extends Event> eventClass)イベントを有効にします。- パラメータ:
- eventClass-- nullではなく、有効にするイベント
- 戻り値:
- nullではなく、さらなる構成のためのイベント設定
- 例外:
- IllegalArgumentException-- eventClassが抽象クラスであるか、- Eventのサブクラスでない場合
 
- 
disablepublic EventSettings disable(String name)指定された名前のイベントを無効にします。(たとえば、同じクラスが別のクラス・ローダーにロードされたとします。)と同じ名前のイベントが複数ある場合、名前と一致するすべてのイベントが無効化されます。 特定のクラスを無効にするには、イベント・タイプIDの disable(Class)メソッドまたはString表現を使用します。- パラメータ:
- name-- nullではなく、イベントの設定
- 戻り値:
- nullではなく、さらなる構成のためのイベント設定
 
- 
disablepublic EventSettings disable(Class<? extends Event> eventClass)イベントを無効にします。- パラメータ:
- eventClass-- nullではなく、有効にするイベント
- 戻り値:
- nullではなく、さらなる構成のためのイベント設定
- 例外:
- IllegalArgumentException-- eventClassが抽象クラスであるか、- Eventのサブクラスでない場合
 
- 
setMaxAgepublic void setMaxAge(Duration maxAge)ストリームで保持される過去のデータの量を決定します。ディスクに格納されるデータのレコーディング量を制御するために、データを保持する最大時間を指定できます。 指定した時間よりも古いディスクに格納されているデータは、Java Virtual Machine (JVM)によって削除されます。 最大制限または最大保持時間をどちらも設定しない場合、イベントが発生したときに、レコーディングのサイズが無期限に大きくなる可能性があります - パラメータ:
- maxAge- データが保持される時間の長さ(無限大の場合は- null)。
- 例外:
- IllegalArgumentException-- maxAgeが負の場合
- IllegalStateException- レコーディングが- CLOSED状態にあるかどうか
 
- 
setMaxSizepublic void setMaxSize(long maxSize)ストリーム用に保持されるデータ量を決定します。ディスクに格納されるデータのレコーディング量を制御するために、保持するデータの最大量を指定できます。 上限を超えた場合、Java Virtual Machine (JVM)は最も古いチャンクを削除し、新しいチャンクのための余裕を作成します。 最大限度または最大経過時間を設定しないと、レコーディングのサイズが無期限に拡大することがあります。 サイズはバイト単位で測定されます。 - パラメータ:
- maxSize- 保存するデータの量(無限大の場合は- 0)
- 例外:
- IllegalArgumentException-- maxSizeが負の場合
- IllegalStateException- レコーディングが- CLOSED状態にある場合
 
 
-