スレッドプロファイリング機能は、スレッドレベルでのCPU時間消費量とタイプごとのスレッド数の統計情報を提供します。ARMSは、5分ごとにスレッドのメソッドスタックを記録および集計します。これにより、コード実行プロセスを確認し、スレッドの問題を特定することができます。クラスタのCPU使用率が高い場合、または多数の低速メソッドが検出された場合、スレッドプロファイリング機能を使用して、最も多くのCPUリソースを消費するスレッドまたはメソッドを特定できます。
手順
ARMS console にログインします。左側のナビゲーションペインで、 を選択します。
アプリケーション一覧ページで、上部のナビゲーションバーでリージョンを選択し、管理するアプリケーションの名前をクリックします。
説明言語列に表示されるアイコンは、アプリケーションが記述されている言語を示します。
: Javaアプリケーション
: Goアプリケーション
: Pythonアプリケーションハイフン(-):Managed Service for OpenTelemetryで監視されているアプリケーション。
左側のナビゲーションペインで、 を選択します。
スレッドプロファイリングの実行
スレッドプロファイリングページには、アプリケーションのすべてのスレッドが左側に一覧表示されます。CPU時間消費量(ミリ秒)セクションの統計情報に基づいて、異常なスレッドを検出できます。異常なスレッドを選択し、CPU時間消費量(ミリ秒)とスレッド数のグラフの変化を分析します。たとえば、1分あたりのスレッドの総数が過剰かどうかを分析できます。

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

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

メソッドスタックをクリックしてもデータが表示されない場合は、次の手順を実行して問題をトラブルシューティングします。
ARMSエージェントのバージョンが2.7.3.5より前の場合は、アプリケーション詳細ページの左側のナビゲーションペインでをクリックします。表示されるページで、カスタム設定タブをクリックし、スレッド設定セクションのスレッドプロファイリングメソッドスタックがオンになっているかどうかを確認します。スイッチがオフの場合、メソッドスタック情報は記録されません。スイッチがオンの場合、メソッドスタック情報は5分ごとに収集されます。
ARMSエージェントのバージョンが2.7.3.5以降の場合は、アプリケーション詳細ページの左側のナビゲーションペインでをクリックします。表示されるページで、カスタム設定タブをクリックし、継続的プロファイリングセクションのメインスイッチとCPUホットスポットがオンになっているかどうかを確認します。スイッチがオフの場合、メソッドスタック情報は記録されません。スイッチがオフの場合、メソッドスタック情報は記録されません。