.NET Framework のスタックトレースの設定
デフォルトでは、.NET Framework Tracer は、すべてのスパンについて、デフォルトのスタックトレース深度 35 フレームでスタックトレースをキャプチャします。 スタックトレースの設定を使用することで、 Instana によって収集・取り込まれるトレースデータの量を制御できます。 スタックトレースの設定を使用して、.NET Framework Tracer をカスタマイズし、エラーが発生したスパンについてのみスタックトレースを収集したり、スタックトレースの収集を完全に無効にしたり、スタックトレースの深さを制御したりすることができます。
構成方式
.NET Framework のTracerでは、スタックトレースの設定に関して以下のメソッドがサポートされています:
オプション 1:環境変数を用いたスタックトレースの設定
環境 INSTANA_STACK_TRACE_LENGTH 変数 INSTANA_STACK_TRACE および を使用して、スタックトレースのレベルと長さを設定できます。
| 環境変数 | 説明 | サポートされる値 |
|---|---|---|
INSTANA_STACK_TRACE |
スタックトレースのレベル | all (デフォルト): すべてのスパンについてスタックトレースを収集します。 error: エラーが発生したEXITスパンのみについてスタックトレースを収集します。 ENTRYスパン(例: ASP.NET のリクエストスパン)については、通常、診断上の価値がほとんどないフレームワークレベルのフレームのみが含まれているため、スタックトレースは収集されません。 none: スタックトレースの収集を無効にします。 設定されたモードにかかわらず、 HTTP のエントランスおよびエグジットスパンでエラー(span.ec=1)が発生した場合、常にスタックトレースが報告されます。 |
INSTANA_STACK_TRACE_LENGTH |
スタックトレースの深さ | 1 – 200 (デフォルト: 35) |
スタックトレースの深さが のエラーが発生したスパンについてのみスタックトレースを収集するには 10、以下の環境変数を設定してください:
INSTANA_STACK_TRACE=error
INSTANA_STACK_TRACE_LENGTH=10
オプション 2: YAML の設定ファイルによるスタックトレースの設定
構造化され、バージョン管理された設定を行うには、 YAML 設定ファイルを使用してください。
YAML の設定ファイルを使用してスタックトレースを設定するには、以下の手順を実行してください
- YAML の設定ファイル(例: instana-config.yaml)を作成し、セクション
tracing.globalの下にスタックトレースの設定を追加します。 また、以下の設定で、技術ごとのオーバーライドを設定することもできますtracing.<technology>:tracing: global: stack-trace: error stack-trace-length: 12 aspnet: stack-trace: all stack-trace-length: 20この節
tracing.globalは、すべてのスパンに適用されます。 セクションtracing.<technology>を使用して、特定のテクノロジー(例:aspnet、sqlserver)のグローバル設定を上書きします。テクノロジーごとの設定は、よりも優先されますtracing.global。 - YAML
INSTANA_CONFIG_PATHファイルの絶対パスを環境変数に設定してください:INSTANA_CONFIG_PATH=C:\path\to\instana-config.yaml
サポートされているフィールドおよび値の詳細については、「 スタックトレースの設定リファレンス」 を参照してください。
オプション 3: Instana エージェントの設定によるスタックトレースの設定
Instana エージェントでスタックトレースを設定するには、エージェントのファイル configuration.yaml (<instana-agent>/etc/instana/configuration.yaml)内の com.instana.tracing セクションを作成または更新してください。
スタックトレースの深さが のすべてのスパンについてスタックトレースを収集するには 4、エージェントのファイル configuration.yaml に次のスニペットを追加してください:
com.instana.tracing:
global:
stack-trace: all
stack-trace-length: 4
tracing (必須)を使用してください。 このキー com.instana.tracing は下位互換性のために受け入れられますが、非推奨の警告が表示されます。サポートされているフィールドおよび値の詳細については、「 スタックトレースの設定リファレンス」 を参照してください。
スタックトレースの設定リファレンス
スタックトレースの設定を行うには、以下の YAML 構文を使用してください:
# Use 'tracing' key in a YAML configuration file (required)
# Use 'com.instana.tracing' key in the agent configuration.yaml file (accepted for backward compatibility)
tracing:
global:
stack-trace: <string>
stack-trace-length: <int>
<technology>: # Optional: override global settings per technology
stack-trace: <string>
stack-trace-length: <int>
| フィールド | 説明 | サポートされる値 |
|---|---|---|
stack-trace |
スタックトレースのレベル | all (デフォルト): すべてのスパンについてスタックトレースを収集します。 error: エラーが発生したEXITスパンのみについてスタックトレースを収集します。 ENTRYスパン(例: ASP.NET のリクエストスパン)については、通常、診断上の価値がほとんどないフレームワークレベルのフレームのみが含まれているため、スタックトレースは収集されません。 none: スタックトレースの収集を無効にします。 設定されたモードにかかわらず、 HTTP のエントランスおよびエグジットスパンでエラー(span.ec=1)が発生した場合、常にスタックトレースが報告されます。 |
stack-trace-length |
スタックトレースの深さ | 1 – 200 (デフォルト: 35)。EXITスパンに誤りがある場合、トレーサーはこの制限を無視し、スタック全体をキャプチャすることがあります。 |
tracing のキー <technology> には、.NET Framework Tracer がサポートするあらゆる技術識別子(例: aspnet、 sqlserver)を指定できます。技術ごとの設定は、 よりも優先されます tracing.global。設定の優先順位
スタックトレースの設定は、以下の優先順位に従って適用されます
- 環境
INSTANA_CONFIG_PATH変数を通じて渡される YAML 設定ファイルからのスタックトレース設定。 - 環境変数 および
INSTANA_STACK_TRACEを通じて設定されたスタックトレースの設定INSTANA_STACK_TRACE_LENGTH。 - エージェントのファイル configuration.yaml からのスタックトレースの設定。
優先順位は、スタックトレースレベルとスタックトレースの長さの設定について、それぞれ個別に評価され、適用されます。