opentelemetry-erlang icon indicating copy to clipboard operation
opentelemetry-erlang copied to clipboard

otel_propagator_http_b3 doesn't inject parent id headers

Open SoniCoder opened this issue 4 years ago • 3 comments
trafficstars

As per https://github.com/openzipkin/b3-propagation, the X-B3-ParentSpanId header must also be passed/injected. However I can see in the module's(otel_propagator_http_b3) code that we aren't doing that and I believe this is causing the spans set to be created as root span.

Please correct me if I'm wrong.

Thanks

SoniCoder avatar Mar 23 '21 12:03 SoniCoder

I know this was discussed by Otel spec/maintainers and I thought it was agreed there would not be a parent id header.

In Otel the parent id of the new child is the span id in the header, it does not use the same span id for both client and server like zipkin does.

I need to find the discussion and will link to it here, I may be misremembering the decision on how to handle this difference between the two.

tsloughter avatar Mar 23 '21 13:03 tsloughter

Oh, it is still open https://github.com/open-telemetry/opentelemetry-specification/issues/1007

tsloughter avatar Mar 23 '21 13:03 tsloughter

I'm using erlang service A which injects b3 headers in a HTTP request to a java service B .... now service B pushes in zipkin format to otel-collector that exports to jaegar ..... So finally I believe my spans created by service A aren't displaying properly in jaegar .... you think this might be familiar or should I debug further on things?

Thanks

SoniCoder avatar Mar 23 '21 14:03 SoniCoder