APMエージェントでのスレッド・スナップショットの構成

スレッド・スナップショット機能を使用すると、詳細なダイブ分析に使用できるスレッド・スタック・スナップショット・コレクションが可能です。

スレッド・スナップショットを使用すると、スレッド・スタック・スナップショット、スレッド・メモリー・オーバーヘッド、スレッドCPUオーバーヘッド、トレースへの影響などのトレースを収集できます。特定の間隔で、スレッド・スタック・スナップショットおよび状態やロックなどのスタック関連データを収集します。

ユーザーは、スパンのスタックダンプを取得するためにスレッドスタックスナップショット収集を有効にできます。ユーザー・コード・スタックの可視性を提供します。

スレッド・スナップショット・コレクションのデフォルトの時間間隔は250ミリ秒です。

この機能はデフォルトでは無効です。

APM JavaエージェントおよびAPMトレーサは、スレッド・スナップショット・コレクションをサポートしています。APMトレーサでのスレッド・スナップショットの構成の詳細は、APMトレーサでのスレッド・スナップショットの構成を参照してください。

前提条件

  1. スレッド・スナップショットには、JDK8以上が必要です。

  2. スレッド・スナップショットはAPM Java Agent 1.4バージョン以上でサポートされています。

スレッド・スナップショットの有効化

APM Javaエージェントがプロビジョニングされた後、次の場所に存在する必要がある AgentConfig.propertiesファイルを更新して、スレッド・スナップショット機能を有効にできます。

$DOMAIN_HOME/oracle-apm-agent/config

  • AgentConfig.propertiesファイルを開きます。
  • 次のプロパティをtrue値に更新します。
    com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true 

    デフォルトでは、スレッド・スナップショットのプロパティ値はfalseです(機能は無効です)。

構成プロパティ

次の表に、実行時に構成できるスレッドスナップショットのプロパティーを示します。

プロパティ名 説明 単位 デフォルト値 サポートされる値
com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable ディープダイブスナップショット収集を有効または無効にします。 文字列 false true/false
com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute コレクタにエクスポートする1分当たりの受信トレースの最大割合。 パーセント 100

Minimum:1

最大: 100

com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute コレクタにエクスポートする1分当たりの上位トレースの最大数。 数値 200

Minimum:1

最大: 1500

com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS スレッドスナップショットデータが収集される間隔。 ミリ秒 250

Minimum:250

最大: 300000

com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace トレース当たりに許可されるスナップショットの最大数。 数値 16

最小: 1

最大:16

com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot 任意のスレッドについて収集された最大スタックトレースフレーム数。 数値 256

最小: 1

最大: 256

com.oracle.apm.agent.deepdive.logLevel このプロパティー値以上のディープダイブログを出力します。 文字列 INFO

デバッグ、情報、警告、重大

com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent 最大プロセスCPU使用率。プロセス全体のCPU使用率をこのしきい値未満に維持することをお薦めします。 数値 90

最小: 1

最大: 90

com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold CPU使用率の全体を維持するための最小しきい値。 パーセント 3

最小: 1

最大: 5

com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold 全体的なディープ・CPU使用率を維持するための最大しきい値。 パーセント 5

最小: 5

最大: 20

com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold トレースの最小しきい値。 ミリ秒 50

最小: 50

最大: 60000

com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold トレースの最大しきい値。 ミリ秒 60000

最小: 60000

最大: 600000

スレッド・スナップショットの検証

  • スレッド・スナップショット機能が初期化されたことを確認するには、次の場所からログ・ファイルを確認します: $DOMAIN_HOME/oracle-apm-agent/deepdive/<server-name>/ApmDeepDiveAgent.log

    ログ・ファイルは次のようになります。
     INFO [main] <DeepDiveManager> DeepDiveManger initialized successfully. 
  • スレッド・スナップショット機能が正しく構成されていて、データがApplication Performance Monitoringにアップロードされていることを確認するには、「トレースまたはスパン詳細の表示」「スナップショット・ビュー」オプションを使用します。