Set up Tracing on a Buildkite Pipeline
CI Visibility is not available in the selected site () at this time.
The steps to activate the Datadog integration for Buildkite are:
- Go to Settings > Notification Services in Buildkite and click add a Datadog Pipeline Visibility integration.
- Fill in the form with the following information:
- Description: A description to help identify the integration in the future, such as Datadog CI Visibility integration.
- API key: your Datadog API Key.
- Datadog site:
- Pipelines: Select all pipelines or the subset of pipelines you want to trace.
- Branch filtering: Leave empty to trace all branches or select the subset of branches you want to trace.
- Click Add Datadog Pipeline Visibility Notification to save the integration.
Custom tags can be added to Buildkite traces by using the buildkite-agent meta-data set
command.
Any metadata tags with a key starting with dd_tags.
are added to the job and pipeline spans. These
tags can be used to create string facets to search and organize the pipelines.
The YAML below illustrates a simple pipeline where tags for the team name and the Go version have
been set.
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
The following tags are shown in the root span as well as the relevant job span in Datadog.
team: backend
go.version: go version go1.17 darwin/amd64
(output depends on the runner)
The resulting pipeline looks as follows:
Any metadata with a key starting with dd-metrics.
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_metrics.binary_size"
label: Go build
The resulting pipeline will have the tags shown below in the pipeline span:
binary_size: 502
(output depends on the file size)
In this example, you can use the value of binary_size
to plot the change in the binary size over time.
Visualize pipeline data in Datadog
The Pipelines and Pipeline Executions pages populate with data after the pipelines finish.
Note: The Pipelines page shows data for only the default branch of each repository.
Further reading
Additional helpful documentation, links, and articles: