You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Datadog is not showing parent spans of the router callers, it only shows downstream spans
in our distributed system there are 2 services on top of the router:
after some debugging found that, ServiceB is properly sending x-datadog-trace-id and x-datadog-parent-id, the issue not there, it seems that problem is that the custom Apollo DatadogExporter is not assigning the x-datadog-parent-id value after it gets extracted to the span parent id.
if I send a graphQL request to the router with these DD headers.
samuelAndalon
changed the title
otel Datadog exporter is not propagating context from upstream spans
otel Datadog exporter is not propagating trace context from upstream spans
Jan 16, 2025
Describe the bug
Datadog is not showing parent spans of the router callers, it only shows downstream spans
in our distributed system there are 2 services on top of the router:
after some debugging found that, ServiceB is properly sending
x-datadog-trace-id
andx-datadog-parent-id
, the issue not there, it seems that problem is that the custom Apollo DatadogExporter is not assigning thex-datadog-parent-id
value after it gets extracted to the span parent id.if I send a graphQL request to the router with these DD headers.
the headers are properly extracted:
however here is where issue starts:
The custom Apollo oTel Datadog exporter is wrongly assigning
x-datadog-parent-id
asspan-id
of the incoming request span, see:https://github.com/apollographql/router/blob/main/apollo-router/src/plugins/telemetry/tracing/datadog_exporter/mod.rs#L400
The SpanData struct has a
parent_span_id
field, and aspan_context
, this span context is the one that exposes the span_id and the trace_id.Expected behavior
Datadog should show all the spans that belong to a given trace-id, included upstream services that are calling the router.
The text was updated successfully, but these errors were encountered: