名前
jfr - Flight Recorderファイルを解析および印刷
シノプシス
フライト・レコーディングのコンテンツを標準出力に出力するには:
jfr print [options] file
フライト・レコーディング・イベントに関するメタデータ情報を出力するには:
jfr metadata file
チャンク・ファイルをフライト・レコーディング・ファイルに組み入れるには:
jfr assemble 「リポジトリ」 file
フライト・レコーディング・ファイルをチャンク・ファイルに逆アセンブルするには:
jfr disassmble [options] file
フライト・レコーディング・ファイルのサマリー統計を表示するには:
jfr summary file
- options
- オプション: 空白で区切られたコマンド行オプションを指定します。 使用可能なオプションについては、個別のサブコンポーネントの項を参照してください。
- file
- ターゲット・フライト・レコーディング・ファイル(.jfr)の名前を指定します。
- リポジトリ
- フライト・レコーディングにアセンブルするチャンク・ファイルのロケーションを指定します。
説明
jfrコマンドは、フライト・レコーダ・ファイル(.jfr)と相互作用するツールを提供します。 主要な機能は、フライト・レコーディング・ファイルをフィルタ処理し、人が読める形式に出力することです。 レコーディング・ファイルのマージおよび分割もサポートされています。 
フライト・レコーディング・ファイルは、バイナリ形式のファイルとして作成および保存されます。 フライト・レコーディングからコンテンツを抽出して操作し、判読可能な形式に翻訳できるツールを用意することで、開発者はJavaアプリケーションでパフォーマンスの問題をデバッグできます。
サブコマンド
jfrコマンドには、次のサブコマンドがあります:
- print
- summary
- assemble
- disassemble
- metadata
jfr printサブコマンド
フライト・レコーディング・ファイルのコンテンツを標準出力に出力するには、jfr printを使用します。 構文は次のとおりです。 
jfr print [--xml|--json] [--categories <filters>] [--events <filters>] [--stack-depth <depth>] <file>
以下にそれぞれの意味を示します。
- --xml
- XML形式でレコーディングを出力
- --json
- JSON形式でのレコーディングの出力
- --categories< 「フィルタ」 >
- カテゴリ名と一致するイベントを選択します。 このフィルタは、名前、単純名、修飾名、または引用符付きglobパターンあるいはその両方のカンマ区切りリストです
- --events< 「フィルタ」 >
- イベント名と一致するイベントを選択します。 このフィルタは、名前、単純名、修飾名、または引用符付きglobパターンあるいはその両方のカンマ区切りリストです
- --stack-depth<depth>
- スタック・トレース内のフレーム数(デフォルトは5)
- <file>
- レコーディング・ファイル(.jfr)のロケーション
フライト・レコーディング・ファイルの内容を印刷するためのデフォルトの形式は、xmlまたはjsonのいずれかが指定されていないかぎり、判読可能な形式です。 これらのオプションでは、ユーザーが作成したスクリプトで解析または処理できる、マシンが読み取ることのできる出力が提供されます。 
フィルタの使用例を参照するには、jfr --help printを使用します。
表示されるデータ量を削減するために、イベントまたはイベントのカテゴリをフィルタで除外できます。 フィルタは、イベントのシンボリック名、@Name注釈を使用して設定されるか、または@Category注釈を使用して設定されるカテゴリ名に基づいて処理されます。 複数のフィルタが使用される場合は、両方のフィルタのイベントが含められます。 フィルタが使用されていない場合、すべてのイベントが出力されます。 カテゴリ・フィルタとイベント・フィルタの組合せを使用する場合、選択したイベントは2つのフィルタの結合です。 
たとえば、すべてのGCイベントとCPULoadイベントを表示するには、次のコマンドを使用します:
jfr print --categories GC --events CPULoad recording.jfr
イベント値は、使用されているコンテンツ・タイプに応じて書式設定されます。 たとえば、値0.52を持つjdk.jfr.Percentage注釈が設定されたフィールドは52%と書式設定されます。 
スタック・トレースは、デフォルトでは5個のフレームに切り捨てられますが、その数は--stack-depthコマンドライン・オプションを使用して増減できます。
jfr summaryサブコマンド
jfr summaryを使用してレコーディングの統計を印刷します。 たとえば、記録されたイベントの数と、使用されたディスク領域の量についてサマリーに示すことができます。 これは、イベント設定の影響のトラブルシューティングおよび理解するのに役立ちます。 
構文は次のとおりです。
jfr summary <file>
以下にそれぞれの意味を示します。
- <file>
- フライト・レコーディング・ファイル(.jfr)のロケーション
jfr metadataサブコマンド
jfr metadataを使用して、イベントに関する情報(フライト・レコーディング・ファイル内のイベント名、カテゴリ、フィールド・レイアウトなど)を表示します。 構文は次のとおりです。 
jfr metadata <file>
以下にそれぞれの意味を示します。
- <file>
- フライト・レコーディング・ファイル(.jfr)のロケーション
jfr assembleサブコマンド
jfr assembleを使用すると、チャンク・ファイルをレコーディング・ファイルに組み立てることができます。
構文は次のとおりです。
jfr assemble < 「リポジトリ」 > < file >
以下にそれぞれの意味を示します。
- < 「リポジトリ」 >
- チャンク・ファイルを含むリポジトリのあるディレクトリ
- <file>
- フライト・レコーディング・ファイル(.jfr)のロケーション
フライト・レコーディング情報はチャンクで書き込まれます。 チャンクには、解析に必要なすべての情報が含まれています。 一般的に、チャンクにはトラブルシューティングに役立つイベントが含まれます。 JVMがクラッシュする必要がある場合、これらのチャンクをリカバリして、このjfr assembleコマンドを使用したフライト・レコーディング・ファイルの作成に使用できます。 これらのチャンク・ファイルは連結されて時系列順になり、(.part)が終了していないチャンク・ファイルは除外されます。 
jfr disassembleサブコマンド
フライト・レコーディング・ファイルをチャンク・ファイルのピースに分解するには、jfr disassembleを使用します。 構文は次のとおりです。 
jfr disassemble [--max-chunks < 「チャンク」 >] [--output < directory >] < file >
以下にそれぞれの意味を示します。
- --output<directory>
- 逆アセンブルされたファイルを書き込むロケーション(デフォルトではカレント・ディレクトリ)
- --max-chunks< 「チャンク」 >
- ファイル当たりの最大チャンク数 (デフォルトは5)。 チャンク・サイズは様々ですが、通常は約15 MBです。
- --max-size<size>
- ファイル当たりの最大バイト数。
- <file>
- フライト・レコーディング・ファイル(.jfr)のロケーション
この関数は、障害のあるチャンクを削除して、壊れたファイルを修復する場合に役立ちます。 また、転送に大きすぎるファイルのサイズを減らすためにも使用できます。 結果のチャンク・ファイルの名前はmyfile_1.jfr、myfile_2.jfrなどです。必要に応じて、結果のファイル名にゼロが埋め込まれ、時系列順が保持されます。 たとえば、レコーディングが100を超えるチャンクで構成されている場合、チャンク・ファイル名はmyfile_001.jfrとなります。 
jfrバージョンおよびhelpサブコマンド
このjfrコマンドのバージョン文字列情報を表示するには、jfr --versionまたはjfr versionを使用します。
Jfrサブコマンドでヘルプを使用するには、次のコマンドを使用します:
jfr <--help|help> [「サブコマンド」]
以下にそれぞれの意味を示します。
[「サブコマンド」]は次のいずれかです:
- print
- metadata
- summary
- assemble
- disassemble