スレッド プロファイリング

概要

スレッド プロファイリングを利用すると、コード スタック内のボトルネックを特定・切り分け可能となります。Applications ManagerのAPMインサイトでは、選択期間に収集したスレッド プロファイルをすべて、スレッド数、CPU時間、メモリ詳細などとあわせて表示しています。スレッド プロファイルにはそれぞれ、アプリケーションのプロファイリング時に実行していたスレッドのリストが記載されています。

特定スレッド プロファイルを選んでクリックすると、次の内容を確認できます。

  • CPU利用率の高いスレッド、スレッドID、CPU時間、メモリ割り当て詳細
  • アプリケーションのパフォーマンスに影響している可能性がある、実行に時間を費やしているメソッド
  • 各メソッドの実行回数

コンテンツ:

スレッド プロファイルの表示

スレッド プロファイルを表示するには

  1. Applications Managerアカウントにログインください。
  2. APMインサイト タブへ移動し、お客さまアプリケーションをクリックしてください。
  3. スレッド プロファイリング タブ、それぞれのスレッドとクリックすると、スレッドの詳細が表示されます。

メモ:スレッド プロファイリングはJavaと.NETエージェントでサポートしています。

スレッド プロファイリングのタイプ

  1. スケジュール プロファイリング
  2. オンデマンド プロファイリング

スケジュール プロファイリング

APMインサイトはスレッド プロファイリングを、5分間にわたり1日に2回行います。

メモ
  • Javaエージェントでは、スケジュール スレッド プロファイリングは毎時間実行されます。
  • デフォルトでは、スケジュール プロファイリングは、Javaエージェントでは無効となっており、.NETエージェントではサポート対象外です。
  • Javaエージェントの場合、スケジュール プロファイリングを有効にするには、apminsight.confファイルに次のプロパティを設定してください。   thread.profiling.enabled=true
  • この変更ののち、ファイルを保存して閉じます。これによって、スケジュール プロファイリングが毎時間実行されるようになります。

オンデマンド プロファイリング

オンデマンド プロファイリングでは、スレッド プロファイリングをその時刻から開始し、5分か30分実行できます。スレッドのサンプリングは定期的に行い、集合データはサンプル期間終了時に表示されます。

オンデマンド プロファイリングを開始するには

  • Applications Managerアカウントにログインください。
  • APMインサイト タブへ移動し、お客さまアプリケーションをクリックしてください。
  • プロファイリングを始めるには、スレッド プロファイリング タブをクリックし、続いてオンデマンド スレッド プロファイリング タブをクリックします。
  • 期間を指定して、プロファイリングの開始をクリックしてください。

メモ:オンデマンド プロファイリングは1時間に1回のみ可能です。すなわち、5分間のオンデマンド プロファイリングを行った場合、次のプロファイリング開始は55分以上開ける必要があります。

オンデマンド プロファイリングは、アプリケーションにもインスタンスにも実行可能です。

  • アプリケーション ビューでは、オンデマンド プロファイリングはインスタンスが利用可能な場合に起動します。
  • インスタンス ビューでは、オンデマンド プロファイリングはインスタンスがアップの場合のみに起動します。
  • インスタンスが停止中の場合、オンデマンド プロファイリングは無効となります。