* Restore configurable propagator option
* Propagate B3 id in the same format received
* Relax interpretation of sampled flag
The B3 spec says a forgiving implementation will accept 1 or true and 0
or false as sampling values, even though only 1 or 0 should be used.
* Fix typos
* Correct changelog for B3
* Extract LS context propagation into configurable propagator class
* Extract context prop test cases to LightStepPropagator spec
* Make LightStepPropagator easier to subclass
Constant lookup will search in Module.nesting before looking up
the inheritance chain, which makes constants hard to override
when subclassing. This commit prefixes constants in the
LightStep propagator with self.class in order to steer lookup
to the inheritance chain.
* Introduce B3 Propagator
This commit introduces a B3 Propagator where keys are properly
injected and extracted under the proper names. Special handling
of the trace id and sampled flag will come in subsequent commits.
* Propagate 16 byte trace ids for B3; use 16 byte ids internally
* Honor and propagate sampled flag for B3
* Clean up tests
* Specify default propagator for Tracer#configure
* Test against currently maintained Rubies
This updates our build matrix to test against Ruby versions that are
still under maintenance by the Ruby core team.
* The mutating tr! and downcase! methods are not chainable; don't chain them
* Make it easier to specify a propgator
* Update changelog for B3
Note that the "OpenTracing spec" here is
https://github.com/opentracing/specification/blob/master/specification.md
rather than github.com/opentracing/opentracing-ruby (which does not
reflect Summer 2016 changes to Inject/Extract).
The idea here is to have the small number of LightStep API users vet
these changes before they're proposed in opentracing-ruby.
Given the dynamic nature of Ruby's type system, the ordering of
LightStep and OpenTracing API changes is formally unimportant.
The collector will reject any report that contains a non-string span
name, so now we convert span names to strings via #to_s. This matches
what we do with tag values.