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
It appears that if the router does not sample a trace (either because the client sets the headers or because there's a ratio sampling configured), then it won't set headers in subgraph requests to indicate if the trace should be sampled or not. It may be related to #3226 (comment)
The text was updated successfully, but these errors were encountered:
Fix#4544
When a trace is not sampled (due to the filtering layer we use in the
telemetry plugin), the `OpenTelemetryLayer` is not called, and so a
`TraceId`(the opentelemetry-api one, not the router side one) is never
generated, which means that when reaching the header propagation code,
the current span context is invalid (trace id = 0 and span id = 0) and
so the propagation headers are not sent.
We want the propagation headers to still be sent when the trace is not
sampled, to let the subgraphs know that they should not sample the trace
either.
One option was to explicitely set the propagation headers, but that
depends a lot on which propagation protocol is used. The trick I use
here is generating on the fly a span context with non zero trace id and
span id, so that the headers can be generated.
It appears that if the router does not sample a trace (either because the client sets the headers or because there's a ratio sampling configured), then it won't set headers in subgraph requests to indicate if the trace should be sampled or not. It may be related to #3226 (comment)
The text was updated successfully, but these errors were encountered: