New announcements for Serverless, Network, RUM, and more from Dash! New announcements from Dash!

Synthetics APM

Overview

The APM integration with Synthetics allows you to go from a test run that potentially failed to the root cause of the issue by looking at the trace generated by that very test run.

Having network-related specifics (thanks to your test) as well as backend, infrastructure, and log information (thanks to your trace) allows you to access a new level of details about the way your application is behaving, as experienced by your user.

Usage

Statements on this page apply to both API and browser tests for APM except where noted.

Prerequisites

  • Your service is traced on the APM side.
  • Your service uses an HTTP server.
  • Your HTTP server is using a library that supports distributed tracing.

Create a test that hits your traced HTTP server, and Datadog automatically links the trace generated by your server to the corresponding test result.

To link browser test results, whitelist the URLs you want the APM integration headers added to. Use * for wildcards:

https://*.datadoghq.com/*

Supported Libraries

The following Datadog tracing libraries are supported:

How are traces linked to tests?

Datadog uses the distributed tracing protocol and sets up the following HTTP headers:

  • x-datadog-trace-id, generated from the Synthetics backend. Allows Datadog to link the trace with the test result.
  • x-datadog-parent-id: 0
  • x-datadog-origin: synthetics, to make sure the generated traces don’t affect your APM quotas. See below.
  • x-datadog-sampling-priority: 1, to make sure that the Agent keeps the trace.

How are APM quotas affected?

The x-datadog-origin: synthetics header specifies to the APM backend that the traces are Synthetics generated. The generated traces consequently do not impact your classical APM quotas.

How long are traces retained?

These traces are retained just like your classical APM traces.

Further Reading

Additional helpful documentation, links, and articles: