From 98d0316f0c6f42a8b37742c2d22bb56204ec87a5 Mon Sep 17 00:00:00 2001 From: Rosa Trieu Date: Mon, 18 Aug 2025 13:20:20 -0700 Subject: [PATCH] [DOCS-10557] Add details about trace ID --- .../correlate_with_other_telemetry/apm/_index.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/content/en/real_user_monitoring/correlate_with_other_telemetry/apm/_index.md b/content/en/real_user_monitoring/correlate_with_other_telemetry/apm/_index.md index c51702cb67e9e..6c7e0e8966bff 100644 --- a/content/en/real_user_monitoring/correlate_with_other_telemetry/apm/_index.md +++ b/content/en/real_user_monitoring/correlate_with_other_telemetry/apm/_index.md @@ -672,13 +672,23 @@ Datadog uses the distributed tracing protocol and sets up the HTTP headers below : `parent id`: 64 bits span ID, hexadecimal on 16 characters. : `trace flags`: Sampled (`01`) or not sampled (`00`) +**Trace ID Conversion**: The 128-bit W3C trace ID is created by padding the original 64-bit source trace ID with leading zeros. This ensures compatibility with APM while conforming to the W3C Trace Context specification. The original 64-bit trace ID becomes the lower 64 bits of the 128-bit W3C trace ID. + `tracestate: dd=s:[sampling priority];o:[origin]` : `dd`: Datadog's vendor prefix. : `sampling priority`: Set to `1` if the trace was sampled, or `0` if it was not. : `origin`: Always set to `rum` to make sure the generated traces from Real User Monitoring don't affect your APM Index Spans counts. -Example: -: `traceparent: 00-00000000000000008448eb211c80319c-b7ad6b7169203331s-01` +**Examples**: + +Source trace ID (64-bit): `8448eb211c80319c` + +W3C Trace Context (128-bit): `00000000000000008448eb211c80319c` + +The relationship shows that the original 64-bit trace ID `8448eb211c80319c` is padded with 16 leading zeros (`0000000000000000`) to create the 128-bit W3C trace ID. + +Complete traceparent example: +: `traceparent: 00-00000000000000008448eb211c80319c-b7ad6b7169203331-01` : `tracestate: dd=s:1;o:rum` {{% /tab %}}