- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
サポートされている Python インタープリター:
サポートされているテストフレームワーク:
Datadog にテスト結果を報告するには、Datadog Python ライブラリを構成する必要があります。
Jenkins や自己管理型の GitLab CI などのオンプレミスの CI プロバイダー上でテストを実行している場合は、Agent のインストール手順に従って各ワーカーノードに Datadog Agent をインストールします。これは、テスト結果が基盤となるホストのメトリクスに自動的にリンクされるため、推奨されるオプションです。
Kubernetes エグゼキューターを使用している場合、Datadog は Datadog Admission Controller を使用することをお勧めします。これにより、ビルドポッドの環境変数が自動的に設定されてローカルの Datadog Agent と通信します。
Kubernetes を使用していない場合、または Datadog Admission Controller を使用できない場合で、CI プロバイダーがコンテナベースのエクゼキュータを使用している場合は、トレーサーを実行するビルドコンテナ内の環境変数 DD_TRACE_AGENT_URL
(デフォルトは http://localhost:8126
) を、そのコンテナ内からアクセス可能なエンドポイントに設定します。ビルドコンテナ内で localhost
を使用すると、コンテナ自体を参照し、基盤となるワーカーノードや Container Agent が動作しているコンテナを参照しないことに注意してください。
DD_TRACE_AGENT_URL
は、プロトコルとポート (例えば、http://localhost:8126
) を含み、DD_AGENT_HOST
と DD_TRACE_AGENT_PORT
よりも優先され、CI Visibility のために Datadog Agent の URL を構成するために推奨される構成パラメーターです。
それでも Datadog Agent への接続に問題がある場合は、Agentless Mode を使用してください。注: この方法を使用すると、テストとインフラストラクチャーメトリクスの相関がなくなります。
GitHub Actions や CircleCI など、基底のワーカーノードにアクセスできないクラウドの CI プロバイダーを使用している場合は、コンテナ内の Datadog Agent をビルドサービスとして実行します。このメソッドは、各ワーカーノードへの Datadog Agent のインストールというオプションがない場合に、コンテナベースのエグゼキューターを使用するオンプレミス CI プロバイダーでも使用できます。
単純な結果フォワーダーとして機能するコンテナとして Datadog Agent を実行するには、Docker イメージ gcr.io/datadoghq/agent:latest
と次の環境変数を使用します。
DD_CIVISIBILITY_AGENTLESS_ENABLED=true
(必須)false
DD_API_KEY
(必須)さらに、データを送信する Datadog サイトを構成します。
DD_SITE
datadoghq.com
次のコマンドを実行して、Python トレーサーをインストールします。
pip install -U ddtrace
詳細については、Python トレーサーのインストールドキュメントを参照してください。
pytest
テストのインスツルメンテーションを有効にするには、pytest
の実行時に --ddtrace
オプションを追加し、DD_SERVICE
環境変数でテスト対象のサービスまたはライブラリの名前を、DD_ENV
環境変数でテストが実行されている環境を指定します (たとえば、開発者ワークステーションでテストを実行する場合は local
、CI プロバイダーでテストを実行する場合は ci
)。
DD_SERVICE=my-python-app DD_ENV=ci pytest --ddtrace
もし、残りの APM インテグレーションも有効にして flamegraph でより多くの情報を取得したい場合は、--ddtrace-patch-all
オプションを追加します。
DD_SERVICE=my-python-app DD_ENV=ci pytest --ddtrace --ddtrace-patch-all
テストの引数に ddspan
と宣言することで、テストにカスタムタグを追加することができます。
from ddtrace import tracer
# テストの引数として `ddspan` を宣言します
def test_simple_case(ddspan):
# タグを設定します
ddspan.set_tag("test_owner", "my_team")
# テストは正常に続きます
# ...
これらのタグに対して、フィルターや group by
フィールドを作成するには、まずファセットを作成する必要があります。タグの追加についての詳細は、Python カスタムインスツルメンテーションドキュメントのタグの追加セクションを参照してください。
以下は、コードか、または環境変数を使用した、トレーサーで使用できる最も重要なコンフィギュレーション設定のリストです。
ddtrace.config.service
DD_SERVICE
pytest
my-python-app
ddtrace.config.env
DD_ENV
none
local
、ci
次の環境変数を使用して、Datadog Agent の場所を構成できます。
DD_TRACE_AGENT_URL
http://hostname:port
の形式のトレース収集用の Datadog Agent URL。http://localhost:8126
他のすべての Datadog トレーサーコンフィギュレーションオプションも使用できます。
Datadog は、テスト結果を可視化し、リポジトリ、ブランチ、コミットごとにグループ化するために Git の情報を使用します。Git のメタデータは、CI プロバイダーの環境変数や、プロジェクトパス内のローカルな .git
フォルダがあれば、そこからテストインスツルメンテーションによって自動的に収集されます。
サポートされていない CI プロバイダーでテストを実行する場合や、.git
フォルダがない場合は、環境変数を使って Git の情報を手動で設定することができます。これらの環境変数は、自動検出された情報よりも優先されます。Git の情報を提供するために、以下の環境変数を設定します。
DD_GIT_REPOSITORY_URL
git@github.com:MyCompany/MyApp.git
、https://github.com/MyCompany/MyApp.git
DD_GIT_BRANCH
develop
DD_GIT_TAG
1.0.1
DD_GIT_COMMIT_SHA
a18ebf361cc831f5535e58ec4fae04ffd98d8152
DD_GIT_COMMIT_MESSAGE
Set release number
DD_GIT_COMMIT_AUTHOR_NAME
John Smith
DD_GIT_COMMIT_AUTHOR_EMAIL
john@example.com
DD_GIT_COMMIT_AUTHOR_DATE
2021-03-12T16:00:28Z
DD_GIT_COMMIT_COMMITTER_NAME
Jane Smith
DD_GIT_COMMIT_COMMITTER_EMAIL
jane@example.com
DD_GIT_COMMIT_COMMITTER_DATE
2021-03-12T16:00:28Z
CI Visibility を有効にすると、プロジェクトから以下のデータが収集されます。
お役に立つドキュメント、リンクや記事: