Buildkite パイプラインでトレースを設定する
選択したサイト () では現在 CI Visibility は利用できません。
概要
Buildkite is a continuous integration and deployment platform that allows you to run builds on your own infrastructure, providing you with full control over security and customizing your build environment while managing orchestration in the cloud.
Set up tracing on Buildkite to optimize your resource usage, reduce overhead, and improve the speed and quality of your software development lifecycle.
互換性
Datadog インテグレーションの構成
To set up the Datadog integration for Buildkite:
- Buildkite の Settings > Notification Services に移動し、add a Datadog Pipeline Visibility integration をクリックします。
- 以下の情報をフォームに入力してください。
- Description: Datadog CI Visibility インテグレーションのように、将来的にインテグレーションを識別するのに役立つ説明です。
- API key: Datadog API キーです。
- Datadog site:
- Pipelines: トレースするすべてのパイプラインまたはパイプラインのサブセットを選択します。
- Branch filtering: すべてのブランチをトレースする場合は空のままにします。または、トレースしたいブランチのサブセットを選択します。
- Add Datadog Pipeline Visibility Notification をクリックして、インテグレーションを保存します。
カスタムタグの設定
カスタムタグは buildkite-agent meta-data set
コマンドを使用して Buildkite トレースに追加することができます。
dd_tags.
で始まるキーを持つメタデータタグはすべて、ジョブとパイプラインのスパンに追加されます。これらのタグを使用して、パイプラインを検索および整理するための文字列ファセットを作成することができます。
以下の YAML は、チーム名と Go バージョンのタグが設定されたシンプルなパイプラインを表しています。
steps:
- command: buildkite-agent meta-data set "dd_tags.team" "backend"
- command: go version | buildkite-agent meta-data set "dd_tags.go.version"
label: Go version
- commands: go test ./...
label: Run tests
Datadog では、ルートスパンだけでなく、関連するジョブスパンにも以下のタグが表示されます。
team: backend
go.version: go version go1.17 darwin/amd64
(出力はランナーに依存します)
その結果、パイプラインは次のようになります。
Any metadata with a key starting with dd-measures.
and containing a numerical value will be set as
a metric tag that can be used to create numerical measures. You can use the buildkite-agent meta-data set
command to create such tags. This can be used for example to measure the binary size in a pipeline:
steps:
- commands:
- go build -o dst/binary .
- ls -l dst/binary | awk '{print \$5}' | tr -d '\n' | buildkite-agent meta-data set "dd_measures.binary_size"
label: Go build
出来上がったパイプラインは、パイプラインスパンに以下のようなタグが表示されます。
binary_size: 502
(出力はファイルサイズに依存します)
この例では、binary_size
の値を使って、バイナリーサイズの経時変化をプロットすることができます。
Datadog でパイプラインデータを視覚化する
The CI Pipeline List and Executions pages populate with data after the pipelines finish.
The CI Pipeline List page shows data for only the default branch of each repository.
インフラストラクチャーメトリクスとジョブの相関付け
If you are using Buildkite agents, you can correlate jobs with the infrastructure that is running them.
For this feature to work, install the Datadog Agent in the hosts running the Buildkite agents.
部分的およびダウンストリームパイプラインを表示する
Executions ページでは、検索バーで以下のフィルターを使用することができます。
Downstream Pipeline
- 可能な値:
true
、false
Manually Triggered
- 可能な値:
true
、false
Partial Pipeline
- 可能な値:
retry
、paused
、resumed
これらのフィルターは、ページの左側にあるファセットパネルからも適用することができます。
参考資料