- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Datadog のソースコードインテグレーションは、GitHub、GitLab、Bitbucket、Azure DevOps でホストされている Git リポジトリとテレメトリーを接続することが可能です。ソースコードインテグレーション を有効にすると、ソースコードの関連行に素早くアクセスして、スタックトレース、スロープロファイル、その他の問題をデバッグすることができます。
Datadog Agent v7.35.0 以降が必要です。
APM をすでに設定している場合は、Integrations > Link Source Code に移動し、バックエンドサービスのソースコードインテグレーションを構成してください。
デプロイされたアーティファクトにテレメトリーのタグ付け または git 情報の埋め込み を行うことでアクティブコミットをリンクさせることができます。
データを特定のコミットにリンクさせるには、テレメトリーに git.commit.sha
と git.repository_url
タグを付けます。git.repository_url
タグにプロトコルが含まれていないことを確認してください。例えば、リポジトリの URL が https://github.com/example_repo
である場合、git.repository_url
タグの値は github.com/example_repo
となります。
コンテナでアプリを実行している場合、Datadog はイメージの Docker ラベルから直接ソースコード情報を抽出することができます。ビルド時に、オープンコンテナスタンダード に従って、git commit SHA とリポジトリ URL を Docker ラベルとして追加します。
docker build . \
-t my-application \
--label org.opencontainers.image.revision=$(git rev-parse HEAD) \
--label org.opencontainers.image.source=git-provider.example/me/my-repo
Kubernetes を使用している場合は、Datadog のタグオートディスカバリー を使用してデプロイされたポッドにポッドアノテーションを付けます。
ad.datadoghq.com/tags: '{"git.commit.sha": "<FULL_GIT_COMMIT_SHA>", "git.repository_url": "git-provider.example/me/my-repo"}'
git.commit.sha
と git.repository_url
はテレメトリーでタグ付けされています。
Datadog は、Serverless Monitoring for AWS Lambda 設定 に従って、サーバーレスアプリケーションからソースコード情報を直接抽出することができます。
APM サーバーレスの設定 | 方法の説明 |
---|---|
Datadog サーバーレスフレームワークプラグイン | Datadog Serverless Plugin]1
を使用してサーバーレスアプリケーションのインスツルメンテーションを行う場合は、serverless-plugin-datadog version >= 5.18.0 を使用します。 |
datadog-cdk-constructs | サーバーレスアプリケーションのインスツルメンテーションに Datadog CDK Construct
を使用する場合、AWS CDK v1 では datadog-cdk-constructs version >= 0.8.5 、AWS CDK v2 では datadog-cdk-constructs-v2 version >= 1.4.0 を使用します。 |
datadog-ci | Datadog CLI クライアント
を使用してサーバーレスアプリケーションのインスツルメンテーションを行う場合は、datadog-ci version >= 2.4.1 を使用します。CLI ツールは、コードリポジトリと同じディレクトリで実行する必要があります。 |
トレース、スパン、プロファイルに git.commit.sha
と git.repository_url
というタグを付けるには、環境変数 DD_TAGS
でトレーサーを構成します。
export DD_TAGS="git.commit.sha:<FULL_GIT_COMMIT_SHA>,git.repository_url:git-provider.example/me/my-repo"
./my-application start
Datadog はリポジトリの URL、現在のブランチのコミット SHA、追跡されたファイルパスのリストをキャプチャするだけで、ユーザーコードを取り込んだり保存したりすることはありません。
リポジトリ URL やコミットハッシュなどの git 情報をアーティファクトに埋め込むことができます。Datadog トレーシングライブラリ はこの情報を使って、アクティブコミットを APM サービスに自動的にリンクさせます。
git 情報の埋め込みに対応している言語を、次の中から 1 つ選択します。
Go はバージョン 1.18 からバイナリにバージョン管理情報を埋め込む ようになりました。
サービスが以下の要件をすべて満たしていることを確認します。
go.mod
を使ってモジュールとしてビルドされました。モジュールパスはコードリポジトリの URL です。GitHub SaaS ユーザーの場合、テレメトリーをソースコードにリンクさせるために、Datadog の GitHub インテグレーション を GitHub インテグレーションタイル にインストールします。インテグレーションタイルで権限を指定する際、Contents に対して Datadog の読み取り権限を有効にしてください。
GitHub とのインテグレーションを設定することで、エラー追跡にインラインコードスニペットを表示することができます。詳しくは、インラインソースコード をご覧ください。
テレメトリーをソースコードにリンクさせるために、Datadog は datadog-ci git-metadata upload
コマンドで Git リポジトリから全てのコミット SHA についてメタデータを収集します。
Git リポジトリ内で datadog-ci git-metadata upload
を実行すると、Datadog はリポジトリの URL、現在のブランチのコミット SHA、そして追跡したファイルのパスのリストを受け取ります。
データが収集されていることを確認するために、CI パイプラインで datadog-ci git-metadata upload
を実行します。
以下のような出力が期待できます。
Reporting commit 007f7f466e035b052415134600ea899693e7bb34 from repository git@github.com:my-org/my-repository.git.
180 tracked file paths will be reported.
✅ Handled in 0.077 seconds.
トレースは GitHub のソースリポジトリのエラー追跡 で直接アクセスできます。
トレースは、Continuous Profiler で GitHub 上のソースリポジトリに直接アクセスすることができます。
GitHub SaaS ユーザーの場合、Datadog の GitHub インテグレーション をインストールすると、エラー追跡 のスタックトレースに GitHub リポジトリからコードスニペットを直接インラインで表示することができます。インテグレーションタイルで権限を指定する際、Contents に対して Datadog の読み取り権限を有効にしてください。
組織用の GitHub アプリをインストールするには、組織のオーナーであるか、リポジトリの管理者権限が必要です。また、個人の GitHub アカウントに GitHub アプリをインストールすることも可能です。詳しくは、GitHub Apps & OAuth Apps をご覧ください。
お役に立つドキュメント、リンクや記事: