[OpenTracing] Add skeleton code#462
Conversation
950cd5b to
b9666c9
Compare
pawelchcki
left a comment
There was a problem hiding this comment.
One small comment about using rspec filters.
Otherwise this PR looks like good starting point with OpenTracing.
| require 'ddtrace/opentracing' | ||
| require 'ddtrace/opentracing/helper' | ||
|
|
||
| if Datadog::OpenTracing.supported? |
There was a problem hiding this comment.
Could this be moved into RSpec filter?
There was a problem hiding this comment.
No. The next line below refers to a constant that is undefined if OpenTracing is not supported. We can only load these constants if Ruby >= 2.0.
Kyle-Verhoog
left a comment
There was a problem hiding this comment.
Everything looks good opentracing-wise. Only the one potential action item with the naming consistency.
| @@ -0,0 +1,23 @@ | |||
| module Datadog | |||
| # Namespace for ddtrace OpenTracing implementation | |||
| module OpenTracing | |||
There was a problem hiding this comment.
In both our python and go opentracing implementations we refer to the tracer and name the sub-module as 'opentracer'.
This is probably not a big deal, but we may wish to be consistent across our implementations.
There was a problem hiding this comment.
I see. For consistency with all other Datadog tracers, I'll change OpenTracing to OpenTracer.
| @@ -0,0 +1,6 @@ | |||
| module Datadog | |||
| module OpenTracing | |||
| class Carrier < ::OpenTracing::Carrier | |||
There was a problem hiding this comment.
👍 the python opentracing library does not define a class for the carrier and is assumed to be a dict, this is better.
| require 'ddtrace/opentracing' | ||
| require 'ddtrace/opentracing/helper' | ||
|
|
||
| if Datadog::OpenTracing.supported? |
* Added: opentracing to gemspec. * Added: Opentracing CI tasks. * Added: Datadog::OpenTracer module. * Added: Datadog::OpenTracer spec helpers. * Added: Datadog::OpenTracer::Tracer. * Added: Datadog::OpenTracer::Span. * Added: Datadog::OpenTracer::SpanContext. * Added: Datadog::OpenTracer::Scope. * Added: Datadog::OpenTracer::ScopeManager. * Added: Datadog::OpenTracer::Carrier.
* Added: opentracing to gemspec. * Added: Opentracing CI tasks. * Added: Datadog::OpenTracer module. * Added: Datadog::OpenTracer spec helpers. * Added: Datadog::OpenTracer::Tracer. * Added: Datadog::OpenTracer::Span. * Added: Datadog::OpenTracer::SpanContext. * Added: Datadog::OpenTracer::Scope. * Added: Datadog::OpenTracer::ScopeManager. * Added: Datadog::OpenTracer::Carrier.
* Added: opentracing to gemspec. * Added: Opentracing CI tasks. * Added: Datadog::OpenTracer module. * Added: Datadog::OpenTracer spec helpers. * Added: Datadog::OpenTracer::Tracer. * Added: Datadog::OpenTracer::Span. * Added: Datadog::OpenTracer::SpanContext. * Added: Datadog::OpenTracer::Scope. * Added: Datadog::OpenTracer::ScopeManager. * Added: Datadog::OpenTracer::Carrier.
* Added: opentracing to gemspec. * Added: Opentracing CI tasks. * Added: Datadog::OpenTracer module. * Added: Datadog::OpenTracer spec helpers. * Added: Datadog::OpenTracer::Tracer. * Added: Datadog::OpenTracer::Span. * Added: Datadog::OpenTracer::SpanContext. * Added: Datadog::OpenTracer::Scope. * Added: Datadog::OpenTracer::ScopeManager. * Added: Datadog::OpenTracer::Carrier.
* Added: opentracing to gemspec. * Added: Opentracing CI tasks. * Added: Datadog::OpenTracer module. * Added: Datadog::OpenTracer spec helpers. * Added: Datadog::OpenTracer::Tracer. * Added: Datadog::OpenTracer::Span. * Added: Datadog::OpenTracer::SpanContext. * Added: Datadog::OpenTracer::Scope. * Added: Datadog::OpenTracer::ScopeManager. * Added: Datadog::OpenTracer::Carrier.
* Added: opentracing to gemspec. * Added: Opentracing CI tasks. * Added: Datadog::OpenTracer module. * Added: Datadog::OpenTracer spec helpers. * Added: Datadog::OpenTracer::Tracer. * Added: Datadog::OpenTracer::Span. * Added: Datadog::OpenTracer::SpanContext. * Added: Datadog::OpenTracer::Scope. * Added: Datadog::OpenTracer::ScopeManager. * Added: Datadog::OpenTracer::Carrier.
* Added: opentracing to gemspec. * Added: Opentracing CI tasks. * Added: Datadog::OpenTracer module. * Added: Datadog::OpenTracer spec helpers. * Added: Datadog::OpenTracer::Tracer. * Added: Datadog::OpenTracer::Span. * Added: Datadog::OpenTracer::SpanContext. * Added: Datadog::OpenTracer::Scope. * Added: Datadog::OpenTracer::ScopeManager. * Added: Datadog::OpenTracer::Carrier.
This pull request extends OpenTracing components in their most basic form, which are all no-ops. It should act as a starting point for adding code and tests as we begin to implement OpenTracing for
ddtrace.