ダイナミックインスツルメンテーションは、Datadog のトレーシングライブラリをサポートする機能です。すでに APM を使用してアプリケーションのトレースを収集している場合は、Agent とトレーシングライブラリが必要なバージョンであることを確認し、ステップ 4 のダイナミックインスツルメンテーションの有効化に直接進みます。

インストール

  1. Agent のバージョン7.44.0 以上をインストールするか、アップグレードします。

  2. まだ APM を有効にしていない場合は、Agent の構成で DD_APM_ENABLED 環境変数を true に設定し、ポート 8126/TCP をリッスンします。

  3. トレースとダイナミックインスツルメンテーションの両方を提供する ddtrace をインストールします。

    pip install ddtrace
    

    : ダイナミックインスツルメンテーションは、ddtrace ライブラリバージョン 2.2.0 以降で利用可能です。

  4. DD_DYNAMIC_INSTRUMENTATION_ENABLED 環境変数を true に設定し、ダイナミックインスツルメンテーションを有効にしてサービスを稼働させます。DD_SERVICEDD_ENVDD_VERSION の統合サービスタグを指定すると、プローブをフィルターしたりグループ化したり、アクティブなクライアントをこれらの次元でターゲットにすることができるようになります。

    サービスを呼び出します。

    export DD_SERVICE=<YOUR_SERVICE>
    export DD_ENV=<YOUR_ENV>
    export DD_VERSION=<YOUR_VERSION>
    export DD_DYNAMIC_INSTRUMENTATION_ENABLED=true
    ddtrace-run python -m myapp.py
    
    from ddtrace.debugging import DynamicInstrumentation
    
    DynamicInstrumentation.enable()
    

  5. ダイナミックインスツルメンテーションを有効にした状態でサービスを起動すると、APM > ダイナミックインスツルメンテーションページでその利用を開始することができます。

コンフィギュレーション

以下の環境変数を使用してダイナミックインスツルメンテーションを構成します。

環境変数タイプ説明
DD_DYNAMIC_INSTRUMENTATION_ENABLEDBooleanダイナミックインスツルメンテーションを有効にするには、true に設定します。
DD_SERVICE文字列サービス名 (例: web-backend)。
DD_ENV文字列環境名 (例: production)。
DD_VERSION文字列サービスのバージョン
DD_TAGS文字列生成されたデータに適用するタグ。タグは <key>:<value> をカンマで区切ったリストである必要があります。例: layer:api, team:intake

次にやるべきこと

スナップショットやメトリクスプローブの設定、データの参照やインデックス作成については、ダイナミックインスツルメンテーションを参照してください。

その他の参考資料

お役に立つドキュメント、リンクや記事: