APMエージェントでのスレッド・スナップショットの構成
スレッド・スナップショット機能を使用すると、詳細なダイブ分析に使用できるスレッド・スタック・スナップショット・コレクションが可能です。
スレッド・スナップショットを使用すると、スレッド・スタック・スナップショット、スレッド・メモリー・オーバーヘッド、スレッドCPUオーバーヘッド、トレースへの影響などのトレースを収集できます。特定の間隔で、スレッド・スタック・スナップショットおよび状態やロックなどのスタック関連データを収集します。
ユーザーは、スパンのスタックダンプを取得するためにスレッドスタックスナップショット収集を有効にできます。ユーザー・コード・スタックの可視性を提供します。
スレッド・スナップショット・コレクションのデフォルトの時間間隔は250ミリ秒です。
この機能はデフォルトでは無効です。
APM JavaエージェントおよびAPMトレーサは、スレッド・スナップショット・コレクションをサポートしています。APMトレーサでのスレッド・スナップショットの構成の詳細は、APMトレーサでのスレッド・スナップショットの構成を参照してください。
前提条件
-
スレッド・スナップショットには、JDK8以上が必要です。
-
スレッド・スナップショットは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にアップロードされていることを確認するには、「トレースまたはスパン詳細の表示」の「スナップショット・ビュー」オプションを使用します。