Skip to content

Support a single key propagation mode. #82

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

Merged
merged 12 commits into from
Nov 7, 2017
Merged

Conversation

rnburn
Copy link
Contributor

@rnburn rnburn commented Nov 6, 2017

Adds an option use_single_key_propagation to the LightStep tracer. When set, the tracer will propagate context using a single key with a base64-encoding of a binary representation of the span context. The goal is to eventually move this to some sort of standardized header key, but as an interim step it uses the x-ot-span-context that Envoy is using.

Also,

  • Adds in the 3rd party code (from envoy) to handle the base64 encoding/decoding.
  • Reduces string copying in the propagation code by replacing std::istringstream's with a non-copying variant.
  • Uses the Carrier::LookupKey function if available for faster propagation.

@jmacd
Copy link
Contributor

jmacd commented Nov 7, 2017

Looks really good

@jmacd jmacd merged commit 99c18aa into lightstep:master Nov 7, 2017
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

Successfully merging this pull request may close these issues.

2 participants