OpenTelemetry Support

The Datadog Tracking HTTP Client package and gRPC Interceptor package both support distributed traces through both automatic header generation and header ingestion.

Datadog header generation

When configuring your tracking client or gRPC Interceptor, you can specify the types of tracing headers you want Datadog to generate. For example, if you want to send b3 headers to and tracecontext headers for myapi.names, you can do so with the following code:

final hostHeaders = {
    '': { TracingHeaderType.b3 },
    'myapi.names': { TracingHeaderType.tracecontext}

You can use this object during initial configuration:

// For default Datadog HTTP tracing:
final configuration = DdSdkConfiguration(
    // configuration
    firstPartyHostsWithTracingHeaders: hostHeaders,

You can then enable tracing as usual.

This information is merged with any hosts set on DdSdkConfiguration.firstPartyHosts. Hosts specified in firstPartyHosts generate Datadog Tracing Headers by default.

Further reading