Cryostat を使用したパフォーマンスメトリクスの取得
ユーザーは Cryostat を使用して、メモリアロケーションと CPU 使用率に関するパフォーマンスメトリクスを収集できます。
Cryostat について
Cryostat は、コンテナ化された Java アプリケーション向けの Java Flight Recorder ハンドリングです。
詳細については、Cryostat ウェブサイトをご覧ください。
これは、async profiling を使用していません。なぜなら、async profiling は OpenShift 内では利用できない (私の知る限り) ためです。したがって、レコーディングには Safepoint バイアス問題が発生します。「Profiling Java in a container」を参照してください。 |
Cryostat を開く
Java Flight Recorder レコーディングの作成
-
Cryostat インスタンスのウェブサイトを開きます。
-
メニュー項目 Recordings をクリックします。
-
ターゲット VM を選択します。
-
Create ボタンをクリックして新しいレコーディングを作成し、ダイアログに従います。
-
テンプレートとして、CPU およびメモリプロファイリング情報をキャプチャするために Profiling を選択します。

Grafana へのアクセス
minikube を実行している場合、Grafana にアクセスするために追加の認証情報は必要ありません。OpenShift で実行している場合、Cryostat ドキュメントにパスワードの取得方法の詳細が記載されています。
Java Flight Recorder レコーディングの分析
レコーディングを IntelliJ Ultimate (コミュニティエディションでは不十分です) で開くか、Java Mission Control (JMC) バージョン 8 を使用します。
IntelliJ Ultimate で開く場合は、Profiler ツールウィンドウを選択し、Open Snapshot ボタンを押します。Flame Graph タブまたは Method List タブのいずれかを選択します。右上隅で、ユーザーは CPU とメモリプロファイリングの結果を切り替えることができます。
JMC で開く場合は、メニュー項目 Method Profiling または Memory を選択します。残念ながら、Fedora のバージョン 8.2.1 では flame view が壊れているようで、単に空白です。それでも、メソッドのリストはいくつかの価値を提供します。