The Datadog Tracking HTTP Client package and gRPC Interceptor package both support distributed traces through both automatic header generation and header ingestion.
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 example.com
and tracecontext
headers for myapi.names
, you can do so with the following code:
final hostHeaders = {
'example.com': { 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
Additional helpful documentation, links, and articles: