スレッドプロファイリング機能は、スレッドごとの CPU 時間とタイプごとのスレッド数の統計情報を収集します。この機能は、スレッドのメソッドスタックを 5 分ごとに記録して集計します。これにより、コード実行プロセスを確認し、スレッドの問題を特定できます。クラスターの CPU 使用率が高い場合、または多数の低速メソッドが検出された場合、スレッドプロファイリング機能を使用して、最も多くの CPU リソースを消費するスレッドまたはメソッドを特定できます。
制限事項
Enterprise Distributed Application Service(EDAS)は、Professional Edition と Platinum Edition でスレッドプロファイリングをサポートしていますが、Standard Edition ではサポートしていません。
機能ページに移動する
にログインします。
左側のナビゲーションペインで、[アプリケーション管理] > [アプリケーション] を選択します。 上部のナビゲーションバーで、リージョンを選択し、[マイクロサービス名前空間] ドロップダウンリストからマイクロサービス名前空間を選択し、[クラスタータイプ] ドロップダウンリストから [kubernetes クラスター] を選択し、目的のアプリケーションの [名前] をクリックします。
- アプリケーション詳細ページの左側のナビゲーションペインで、 を選択します。
スレッドプロファイリングを実行する
[スレッドプロファイリング] ページの左側に、アプリケーションのすべてのスレッドが一覧表示されます。[CPU 時間消費量(ミリ秒)] セクションの統計に基づいて、異常なスレッドを検出できます。異常なスレッドを選択し、[CPU 時間消費量(ミリ秒)] と [スレッド数] のグラフの変化を分析します。たとえば、1 分あたりのスレッドの総数が過剰かどうかを分析できます。

[メソッドスタック] をクリックして、指定された期間内に実行されているメソッドスタックを表示することもできます。たとえば、BLOCKED 状態のスレッドのメソッドスタックを表示することで、指定されたコードブロックを最適化して CPU 使用率を削減できます。

ARMS エージェントのバージョンが 2.7.3.5 以降の場合、継続的プロファイリング機能は、次の図に示すように、スレッドのメソッドスタックと CPU 使用率に関するより正確な情報を提供します。詳細については、「CPU とメモリの診断機能を使用する」をご参照ください。
