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

Pipeline VisibilityPlatformDefinition
Partial retriesPartial pipelinesView partially retried pipeline executions.
Logs correlationLogs correlationCorrelate pipeline and job spans to logs and enable job log collection.
Custom spansCustom spansConfigure custom spans for your pipelines.
Custom pre-defined tagsCustom pre-defined tagsSet custom tags to all generated pipeline and job spans.
Custom tags and measures at runtimeCustom tags and measures at runtimeConfigure custom tags and measures at runtime.

Configure the Datadog integration

The Datadog integration for CircleCI works by using webhooks to send data to Datadog.

  1. 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.
  2. Click Add Webhook to save the new webhook.

Advanced configuration

Configure multiple projects in bulk

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:

  1. 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.

  2. 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
    

Set custom tags

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

PREVIEWING: may/unit-testing