Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't break on 128bit X-B3-TraceId by tossing high bits #84

Closed
codefromthecrypt opened this issue Oct 11, 2016 · 2 comments
Closed

Don't break on 128bit X-B3-TraceId by tossing high bits #84

codefromthecrypt opened this issue Oct 11, 2016 · 2 comments

Comments

@codefromthecrypt
Copy link

Problem

The first step of transitioning to 128bit X-B3-TraceId is tolerantly reading 32 character long ids. Until a change is made, those propagating 128bit ids to akka will have their traces restarted due to a parse failure.

akka-tracing is one of the last libraries that need an update.

Proposal

Change the SpanMetadata.idFromString to leniently parse an unsigned 64bit long from a lower-hex string. This could address 128bit (32 character) ids by throwing away the high bits (any characters left of 16 characters)

Test

When a 128bit id like X-B3-TraceId: 463ac35c9f6413ad48485a3953bb6124 is received, the lower 64 bits (right most 16 characters ex48485a3953bb6124) will become the trace id as opposed to having the trace restarted.

See also

twitter/finagle#553
openzipkin/brave#239

@levkhomich
Copy link
Owner

Thank you for pinging me -- was not aware about that change. Parser accepts up to 32 character strings now. Implementation is tested against Brave. I've just published it to Maven Central, so it will appear in index in a few hours.

@codefromthecrypt
Copy link
Author

codefromthecrypt commented Oct 25, 2016 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants