Trace and Span ID Formats
This page details Datadog tracing library support for trace and span IDs.
- Generated IDs: By default, all tracing libraries generate 128-bit trace IDs and 64-bit span IDs.
- Accepted IDs: Datadog accepts 128-bit or 64-bit trace IDs, and 64-bit span IDs.
128-bit trace IDs
128-bit trace IDs are generated and accepted by default in the latest versions of Datadog tracing libraries:
64-bit trace and span IDs
Trace IDs
Trace IDs are generated as 128-bit by default, and they are accepted as either 128-bit or 64-bit integers. To generate 64-bit trace IDs, set the environment variable DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED
to false
.
Span IDs
Span IDs are limited to 64-bits in Datadog.
Language | Generated IDs | Valid, Accepted 64-bit int IDs |
---|
Node.js | Unsigned [0, $2^63$] | Signed or unsigned |
Java | Unsigned [1, $2^63-1$] | Unsigned |
Go | Unsigned [0, $2^63-1$] | Signed or unsigned |
Python | Unsigned [0, $2^64-1$] | Unsigned |
Ruby | Unsigned [1, $2^62-1$] | Unsigned |
.NET | Unsigned [0, $2^63-1$] | Unsigned |
PHP | Unsigned [1, $2^64-1$] | Unsigned |
C++ | Unsigned [0, $2^63-1$] | Unsigned |
Further reading
Additional helpful documentation, links, and articles: