名前
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