Set up Tracing on a CircleCI Workflow
CI Visibility is not available in the selected site () at this time.
Overview
CircleCI is a continuous integration and delivery platform that enables teams to build, test, and deploy software at scale.
Set up tracing on CircleCI to optimize the performance of your pipelines, improve collaboration across teams, and ensure consistent, compliant build processes.
Compatibility
The Datadog integration for CircleCI works by using webhooks to send data to Datadog.
For each project, go to Project Settings > Webhooks in CircleCI and add a new webhook:
- Webhook Name:
Datadog CI Visibility
or any other identifier name that you want to provide. - Receiver URL:
https://webhook-intake./api/v2/webhook/?dd-api-key=<API_KEY>
where <API_KEY>
is your Datadog API key. - Certificate verifications: Enable this check.
- Events: Select
Workflow Completed
and Job Completed
.
Click Add Webhook to save the new webhook.
Advanced configuration
Datadog offers a script to help you enable service hooks across multiple or all of your CircleCI projects using the CircleCI API. The script requires Python 3 and the requests
package.
To run this script, you need:
- Your Datadog API key
- A CircleCI personal API token
For more information, you can run the following command:
./service_hooks.py --help
To bulk configure hooks for your projects:
Log in to your CircleCI account and follow all the projects you want to enable the hooks. Optionally, use the Follow All button on the Projects page.
Run the script by using environment variables DD_API_KEY
and DD_SITE
, or passing in flag parameters --dd-api-key
and --dd-site
:
For example:
./service_hooks.py \
--dd-api-key <DD_API_KEY> \
--circle-token <CIRCLECI_TOKEN> \
--dd-site
\
--threads 4
To set custom tags to all the pipeline and job spans generated by the integration, add to the Receiver URL a URL-encoded query parameter tags
with key:value
pairs separated by commas.
If a key:value
pair contains any commas, surround it with quotes. For example, to add key1:value1,"key2: value with , comma",key3:value3
, the following string would need to be appended to the Receiver URL: ?tags=key1%3Avalue1%2C%22key2%3A+value+with+%2C+comma%22%2Ckey3%3Avalue3
.
Integrate with Datadog Teams
To display and filter the teams associated with your pipelines, add team:<your-team>
as a custom tag. The custom tag name must match your Datadog Teams team handle exactly.
Collect job logs
The Datadog CircleCI integration collects logs from your finished CircleCI jobs and forwards them to Datadog. To install and configure this integration, see the CircleCI integration documentation.
Logs are billed separately from CI Visibility. Log retention, exclusion, and indexes are configured in Log Management. Logs for CircleCI jobs can be identified by the datadog.product:cipipeline
and source:circleci
tags.
Visualize pipeline data in Datadog
The CI Pipeline List and Executions pages populate with data after the workflows finish.
The CI Pipeline List page shows data for only the default branch of each repository. For more information, see Search and Manage CI Pipelines.
Further reading
Additional helpful documentation, links, and articles: