アプリケーションモニタリングの継続的なプロファイリング機能は、JavaプログラムにおけるCPU、メモリ、またはI/Oによって引き起こされるボトルネックを効果的に発見し、メソッド名、クラス名、および行番号別に統計データを表示できます。これにより、開発者はプログラムを最適化し、レイテンシを削減し、スループットを向上させ、コストを削減できます。このトピックでは、継続的なプロファイリングデータを表示する方法について説明します。
継続的なプロファイリングデータの表示
ARMS consoleにログインします。左側のナビゲーションペインで、 を選択します。
上部のナビゲーションバーで、リージョンを選択します。
アプリケーション一覧ページで、アプリケーションの名前をクリックします。
上部のナビゲーションバーで、 を選択します。
プロファイリングタイプを選択して、単一インスタンスのCPUプロファイリングデータを表示します。
非侵入型の継続的プロファイリング機能は、eBPF技術に基づいて開発されました。goなどのデバッグシンボルを持つ言語の場合、特定の関数呼び出しをプロファイリングデータと共に表示できます。「不明な関数」エラーが発生した場合、関数はカーネル内の対応するシンボルテーブル情報を見つけることができません。

Self列には、子メソッドによって消費された時間またはリソースを除く、メソッドスタック内の各メソッドが消費する時間またはリソースが表示されます。このデータを使用して、自身のために過剰な時間またはリソースを費やしているメソッドを特定できます。
Total列には、すべての子メソッドによって消費された時間またはリソースを含む、各メソッドによって消費された時間またはリソースが表示されます。このデータを使用して、最も多くの時間またはリソースを費やしているメソッドを特定できます。
ホットスポットコードを分析する場合、Self列または右側フレームグラフの下部にある幅の広いフレームに注目することで、時間のかかるメソッドを見つけることができます。一般的に、幅の広いフレームはシステムパフォーマンスのボトルネックを示しています。
お問い合わせ
アプリケーションモニタリングeBPF版のご利用に関してご不明な点がございましたら、DingTalkグループ(ID:35568145)にご参加いただき、テクニカルサポートをご利用ください。
関連手順
CPU、メモリ、およびI/Oによって引き起こされるJavaプログラムの問題を解決するには、アプリケーションモニタリングの継続的なプロファイリング機能を使用できます。詳細については、継続的なプロファイリング機能の使用を参照してください。