finagle icon indicating copy to clipboard operation
finagle copied to clipboard

implement "b3 single" header format

Open codefromthecrypt opened this issue 7 years ago • 4 comments

Let's support at least reading "b3" header from a single string, most commonly traceid-spanid-1 It would also be nice to support optionally writing this, especially in message providers or others with constrained environments.

Expected behavior

As discussed on openzipkin/b3-propagation#21 and first implemented here: https://github.com/openzipkin/brave/blob/master/brave/src/main/java/brave/propagation/B3SingleFormat.java https://github.com/openzipkin/brave/blob/master/brave/src/test/java/brave/propagation/B3SingleFormatTest.java we should be able to parse "b3" and ideally also write it depending on config.

Actual behavior

right now, we write the historical "X-B3-" headers, which we should still support. However, if we see a header named "b3" we should read that instead.

Steps to reproduce the behavior

Turn on tracing and see if b3=80f198ee56343ba864fe8b2a57d3eff7-05e3ac9a4f6e3b90-1-e457b5a2e4d86bd1 results in the same context as:

X-B3-TraceId: 80f198ee56343ba864fe8b2a57d3eff7
X-B3-ParentSpanId: 05e3ac9a4f6e3b90
X-B3-SpanId: e457b5a2e4d86bd1
X-B3-Sampled: 1

codefromthecrypt avatar Aug 29 '18 07:08 codefromthecrypt

Thanks for filing a ticket @adriancole, do you know if there's someone from the zipkin community who uses finagle and would be interested in tackling this? I think it would be a good first issue.

mosesn avatar Aug 29 '18 16:08 mosesn

@stevesoundcloud @kristofa @dgarson @lawrencefinn @chemicL @crispywalrus @teodor-pripoae @oskarblom @LarryFinn @umichyiwan sorry for the spam, but are any of you interested in this, or helping with it? If so, Moses can help with stewarding here and I can answer any questions etc.

codefromthecrypt avatar Aug 30 '18 05:08 codefromthecrypt

ps this is related https://github.com/linkerd/linkerd/issues/2114

codefromthecrypt avatar Aug 30 '18 05:08 codefromthecrypt

I've started a PR https://github.com/crispywalrus/finagle/pull/1 to address this ...

crispywalrus avatar Aug 30 '18 18:08 crispywalrus