JDK Flight Recorder(JFR)
JFRとは、実行中のJavaアプリケーションからトラブルシューティングに必要なデータを記録することができるツールで、OpenJDKに含まれています。
アプリケーション運用時にJFRを有効にすると、ファイルIOやSocketIOの発生、オブジェクトのアロケーション、例外の発生などのイベントが記録されます。イベントをデフォルトで記録するかどうかはイベントごとに異なり、イベント設定ファイルで定義されています。イベント設定ファイルは、“イベント設定ファイル”を参照してください。
JFRは、実行中のJavaアプリケーションを低負荷で常時監視し、トラブルシューティングに必要なデータを継続的に採取することができます。任意のタイミングでスレッドダンプなどの負荷のかかるデータを採取したい場合は、「トラブルシューティング集」の「JDKに含まれるトラブルシューティングに役立つツール」に記載されているツールの使用を検討してください。
JDK Mission Control(JMC)
JFRで記録したデータを解析する手段としてJMCがあります。
JMCとは、JFRの記録データをダンプした“JFRログファイル(.jfr)”を読み込み、解析することができるGUIツールで、使用するためにはOpenJDKとは別にインストールする必要があります。JMCは、JFRで記録したデータをグラフィカルな操作で解析し、Javaアプリケーションのトラブル発生時の原因を調査することができます。