Граф коммитов

207 Коммитов

Автор SHA1 Сообщение Дата
Matthew Wear e61e3bb826 v0.16.0 2019-11-18 10:24:59 -08:00
Matthew Wear 020c62c98a v0.15.2 2019-11-18 10:22:25 -08:00
Matthew Wear 800e3b041c
Updated B3 trace id handling (#91)
* 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
2019-11-12 18:36:24 -08:00
Matthew Wear dcdb5c09ed v0.15.1 2019-11-06 16:56:53 -08:00
Matthew Wear 7fc80df4f3
Prepare v 0.15.1 release (#90)
* Reset version

The publish process will bump the version for us

* Temporarily remove B3 propagator option
2019-11-06 16:37:32 -08:00
Ben Fischer 88b4facd20 ensure scope and span are properly cleaned up in the event of an error (#89)
* ensure scope and span are properly cleaned up in the event of an error
2019-11-06 14:30:20 -08:00
Matthew Wear b3700d7f44
Propagate sampled flag in-process and improve docs (#88)
* Propagate sampled flag in process

* Improve docs

* Use most significant bits for trace id; pad least significant bits
2019-10-28 17:00:22 -07:00
Matthew Wear 38b6701e7a
B3 context propagation (#86)
* 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
2019-10-24 14:27:25 -07:00
Austin Parker b09f765eea v0.15.0 2019-09-04 15:34:15 -04:00
Josh Lauer 4f28619649 Update to the latest version of OpenTracing gem and update dependencies. (#82)
* bump opentracing and other gems

* Add support for opentracing-ruby 0.5.0
2019-08-27 14:18:43 -04:00
Jacob Stultz 72f5669a4a Delegate start_active_span from singleton tracer (#80)
The OpenTracing Ruby gem defines a `start_active_span` method which can
be called on a tracer; the LightStep tracer also defines this method,
but does not delegate to it from the LightStep module.

As a result, if OpenTracing is configured in the most simple manner, as:

```ruby
OpenTracing.global_tracer = LightStep
```

then calling `OpenTracing.start_active_span` fails, as that method does
not exist.

This adds `start_active_span` to the set of methods delegated from
`LightStep` to the underlying tracer, so that that method call will
succeed and be compliant with the OpenTracing interface when configured
as above.
2019-03-06 11:00:31 -05:00
Isobel Redelmeier a7bc8921a0 Handle #extract when carrier has symbolized keys
(Fixes #75)
2018-11-29 14:52:15 -08:00
Isobel Redelmeier 94d8265c73 Add Span#log_kv and deprecate Span#log
In 0.4.0, opentracing-ruby deprecated Span#log in favour if Span#log_kv
(https://github.com/opentracing/opentracing-ruby/pull/23).

(Closes #72)
2018-11-06 10:20:37 -08:00
Isobel Redelmeier dc5fb0b438
Merge branch 'master' into rhettg-fork 2018-11-05 15:33:09 -08:00
Austin Parker 6347bac301 address review comments 2018-10-24 17:25:54 -04:00
Austin Parker a8d08b3b98
Merge branch 'master' into fix/spanTagToStringOnBuild 2018-10-24 15:03:58 -04:00
Austin Parker 25e8d1a12f fix coercion of values to strings 2018-10-24 15:02:57 -04:00
Austin Parker 2da72815f6 remove unneeded extra thing 2018-10-24 14:52:38 -04:00
Austin Parker 6776b10cfb set span tags to string on build 2018-10-24 14:51:32 -04:00
Kris Hicks 3a7736eb8e
Add support for opentracing-ruby 0.4.0 (#68)
This is to bring lightstep-tracer-ruby in line with opentracing-ruby 0.4.0: 4114b64f84

The specification for that changeset in opentracing is here: https://github.com/opentracing/specification/blob/master/rfc/scope_manager.md#scopemanager

LS-5707
2018-10-18 08:07:24 -07:00
Alice 275cd56d2b
Merge branch 'master' into rename-span-context-to-context 2018-10-11 11:40:21 -07:00
Shaun 8e3b701d42 Various cleanups, add SSL/timeout configuration to HTTPJSON, properly log collector errors 2018-09-18 09:11:05 -05:00
Joe 1e7ee69deb
Merge branch 'master' into rhettg-fork 2018-07-25 13:45:14 -07:00
Kris Hicks 1e3e7d8047 Add support for references to start_span
LS-1368
2018-04-19 16:18:56 -07:00
Kris Hicks 6c1830c95b Remove unused child_of var 2018-04-19 16:14:49 -07:00
Rhett Garber 3d09d1950c Remove extraneous (and wrong) comment
Nothing about http_json transport itself is not fork-safe so this
comment is misleading.
2017-11-07 14:32:06 -08:00
Brandon Gonzalez 69ee406210 LS-495 Fixes transport being overwritten (#59)
If you explicitly pass in a transport and an access token to the tracer,
a new transport is created with the access token instead of using the
supplied transport.
2017-04-04 12:55:12 -07:00
Ben Sigelman 14fa7f87e2 Bump version 2017-02-15 22:08:55 -08:00
Ben Sigelman 9de6885902 Reference the OT versions of formats 2017-02-15 22:05:28 -08:00
rlhh 432b08ed1d Rename span.span_context to span.context 2017-02-08 12:03:27 -08:00
Ben Sigelman aebe8d0f9c v0.11.2 2017-02-06 21:07:09 -08:00
Ben Sigelman a300c94f05 Make the warning quieter 2017-02-06 21:02:23 -08:00
Ben Sigelman 53c59ee025 Use the LightStep logger 2017-02-06 20:52:17 -08:00
Ben Sigelman 2f7571bc7c Add a LightStep.logger 2017-02-06 20:52:06 -08:00
Ben Sigelman 74dca386b4 Ignore extra calls to #configure 2017-02-06 17:52:12 -08:00
Ben Sigelman 34daef720d v0.11.1 2017-02-06 17:44:46 -08:00
Ben Sigelman a59840c9eb v0.11.0 2017-02-06 17:44:18 -08:00
Ben Sigelman 1d3d19832e Save callers from themselves 2017-02-06 17:41:56 -08:00
Ben Sigelman 2b875d2a71 Modernize per the main OpenTracing spec
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.
2017-02-05 15:16:37 -08:00
Ben Sigelman c1a375d5a4 v0.10.9 2017-02-02 20:30:38 -08:00
rlhh ff46456e35 Immediately return when CARRIER_SPAN_ID or CARRIER_TRACE_ID does not exist 2017-02-02 16:48:09 -08:00
rlhh 243d8f8ed0 Fix typo on start_span call 2017-02-02 11:55:55 -08:00
rlhh ae15f2b1c8 Create a normal span if the span_id and trace_id does not both exist during an extract call. This is so that we don't override trace_id with a nil value 2017-02-02 11:38:48 -08:00
Ben Sigelman 8c7d07a508 v0.10.8 2017-02-01 12:09:51 -08:00
rlhh c64878129e Prepend Tracer:: to ConfigurationError to fix namespacing issue 2017-02-01 11:56:52 -08:00
Ben Sigelman c95e4a4915 v0.10.7 2017-01-31 17:14:56 -08:00
Ben Sigelman a64f08cf19 Support for modernized KV logging 2017-01-31 16:47:58 -08:00
Ben Sigelman 358456ca70 v0.10.6 2017-01-23 13:24:55 -08:00
Nan Zhong f354271beb access baggage directly from span context 2017-01-23 12:59:40 -05:00
Nan Zhong 5cc9b24380 fix inheriting baggage from parent span 2017-01-23 08:59:57 -05:00