Synthetic APM

Overview

The APM integration with Synthetic Monitoring 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 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 HTTP API tests, Multistep API tests, and browser tests for APM.

Prerequisites

  • Your service, and the endpoint your test is running on, 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, allow the URLs you want the APM integration headers added to. You can do this in Synthetic Settings. Use * for wildcards:

https://*.datadoghq.com/*

Supported libraries

The following Datadog tracing libraries are supported:

LibraryMinimum Version
Python0.50.4
Go1.10.0
Java0.24.1
Ruby0.20.0
Node.js0.10.0
PHP0.33.0
.NET1.18.2

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 Synthetic Monitoring backend. Allows Datadog to link the trace with the test result.
x-datadog-parent-id: 0
To have Synthetic tests be the root span of the generated trace.
x-datadog-origin: synthetics
To make sure the generated traces from your API tests don’t affect your APM quotas.
x-datadog-origin: synthetics-browser
To make sure the generated traces from your Browser tests don’t affect your APM quotas.
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 synthetically 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