Python トレーシングライブラリの構成

コードを使用してトレーシングライブラリをセットアップし、APM データを収集するように Agent を構成した後、オプションで統合サービスタグ付けのセットアップなど、必要に応じてトレーシングライブラリを構成してください。

ddtrace-run を使用する場合、次の環境変数 (オプション) を利用できます。

DD_TRACE_DEBUG
デフォルト: false
トレーサーでデバッグロギングを有効化します。
DD_PATCH_MODULES
このアプリケーションの実行のためにパッチされたモジュールをオーバーライドします。次のような形式になります。 DD_PATCH_MODULES=module:patch,module:patch...

サービスに envserviceversion を設定するには、DD_ENVDD_SERVICEDD_VERSION を使用することをおすすめします。このような環境変数の構成におすすめの方法については、統合サービスタグ付けのドキュメントをご参照ください。

DD_ENV
アプリケーションの環境 (例: prodpre-prodstaging) を設定します。詳細については、環境の設定方法を参照してください。バージョン 0.38 以降で利用可能。
DD_SERVICE
このアプリケーションで使用するサービス名。値は、Web フレームワークのインテグレーション (例: Pylons、Flask、Django) 用のミドルウェアを設定する際にパススルーされます。Web インテグレーションを行わずにトレースする場合は、コード内でサービス名を設定する (Django ドキュメントで例をご確認ください) ことをお勧めします。バージョン 0.38 以降で利用可能。
DD_TRACE_PROPAGATION_STYLE_INJECT
デフォルト: Datadog
トレーシングヘッダを注入するときに使用する伝搬スタイル。例えば、DD_TRACE_PROPAGATION_STYLE_INJECT=Datadog,B3 を使用すると、 Datadog と B3 形式のヘッダを注入することができます。
DD_TRACE_PROPAGATION_STYLE_EXTRACT
デフォルト: DD_TRACE_PROPAGATION_STYLE_INJECT の値 (Datadog)
トレーシングヘッダを抽出する際に使用する伝搬スタイル。複数の値が与えられた場合、最初に見つかったヘッダのマッチングを使用します。マッチングの順番は静的なもので、与えられた値の順番とは関係ありません。例えば、DD_TRACE_PROPAGATION_STYLE_EXTRACT=B3,DatadogDD_TRACE_PROPAGATION_STYLE_EXTRACT=Datadog,B3 と同じ挙動となります。
DD_SERVICE_MAPPING
サービス名のマッピングを定義し、トレース内におけるサービスの名前変更を許可します (例: postgres:postgresql,defaultdb:postgresql)。バージョン 0.47 以降で利用可能。
DD_VERSION
アプリケーションのバージョン (例: 1.2.36c44da202020.02.13) を設定します。バージョン 0.38 以降で利用可能。
DD_TRACE_SAMPLE_RATE
トレースボリュームコントロールを有効にします
DD_TRACE_SAMPLING_RULES
デフォルト: []
オブジェクトの JSON 配列。各オブジェクトは "sample_rate" を持たなければなりません。"name""service" フィールドは省略可能です。"sample_rate" の値は 0.01.0 の間でなければなりません (この値を含む)。ルールは、トレースのサンプルレートを決定するために設定された順序で適用されます。
DD_TRACE_RATE_LIMIT
1 秒あたり、Python プロセスごとにサンプリングするスパンの最大数。DD_TRACE_SAMPLE_RATE が設定されている場合、デフォルトは 100 です。それ以外の場合は、Datadog Agent にレート制限を委ねます。
DD_TAGS
すべてのスパンとプロファイルに追加されるデフォルトタグのリスト (例: layer:api,team:intake)。バージョン 0.38 以降で利用可能。
DD_TRACE_HEADER_TAGS
デフォルト: null
ルートスパンでタグとして報告されるヘッダー名のカンマ区切りのリスト。例えば、DD_TRACE_HEADER_TAGS="User-Agent:http.user_agent,Referer:http.referer,Content-Type:http.content_type,Etag:http.etag" のようにします。
DD_TRACE_ENABLED
デフォルト: true
Web フレームワークとライブラリインスツルメンテーションを有効にします。false の場合、アプリケーションコードはトレースを生成しません。
DD_AGENT_HOST
デフォルト: localhost
デフォルトのトレーサーがトレースの送信を試みるトレースエージェントホストの宛先アドレスをオーバーライドします。
DD_AGENT_PORT
デフォルト: 8126
デフォルトのトレーサーがトレースを送信する宛先ポートをオーバーライドします。
DD_TRACE_AGENT_URL
トレーサが送信する Trace Agent の URL です。設定された場合、これはホスト名とポートよりも優先されます。datadog.yaml ファイル内の apm_config.receiver_socket 構成、または Datadog Agent に設定された DD_APM_RECEIVER_SOCKET 環境変数との組み合わせで Unix Domain Sockets (UDS) をサポートします。例えば、HTTP の URL には DD_TRACE_AGENT_URL=http://localhost:8126、UDS の URL には DD_TRACE_AGENT_URL=unix:///var/run/datadog/apm.socket を指定します。
DD_DOGSTATSD_URL
Datadog Agent for DogStatsD メトリクスへの接続に使用する URL。設定した場合、これはホスト名とポートよりも優先されます。datadog.yaml ファイル内の dogstatsd_socket 構成、または Datadog Agent に設定された DD_DOGSTATSD_SOCKET 環境変数との組み合わせで Unix Domain Sockets (UDS) をサポートします。例えば、UDP の URL には DD_DOGSTATSD_URL=udp://localhost:8126、UDS の URL には DD_DOGSTATSD_URL=unix:///var/run/datadog/dsd.socket を指定します。
DD_DOGSTATSD_HOST
デフォルト: localhost
デフォルトのトレーサーが DogStatsD のメトリクスを送信しようとするトレース Agent ホストのアドレスをオーバーライドします。DD_DOGSTATSD_HOST をオーバーライドするには、 DD_AGENT_HOST を使用します。
DD_DOGSTATSD_PORT
デフォルト: 8125
デフォルトのトレーサーが DogStatsD のメトリクスを送信するポートをオーバーライドします。
DD_LOGS_INJECTION
デフォルト: false
ログとトレースの挿入を接続するを有効にします。

その他の参考資料