Module: SyncMachine::TracerAdapters::OpenTracingAdapter
- Defined in:
- lib/sync_machine/tracer_adapters/open_tracing_adapter.rb
Overview
Adapt OpenTracing for use with SyncMachine.
Class Method Summary collapse
- .log_errors(span, exception) ⇒ Object
- .parent_span ⇒ Object
- .start_active_span(name, &block) ⇒ Object
- .tags ⇒ Object
- .tracer ⇒ Object
Class Method Details
.log_errors(span, exception) ⇒ Object
19 20 21 22 |
# File 'lib/sync_machine/tracer_adapters/open_tracing_adapter.rb', line 19 def self.log_errors(span, exception) span.set_tag('error', true) span.log_kv(event: 'error', :'error.object' => exception) end |
.parent_span ⇒ Object
24 25 26 |
# File 'lib/sync_machine/tracer_adapters/open_tracing_adapter.rb', line 24 def self.parent_span OpenTracing.active_span end |
.start_active_span(name, &block) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/sync_machine/tracer_adapters/open_tracing_adapter.rb', line 5 def self.start_active_span(name, &block) scope = tracer.start_active_span( name, child_of: parent_span.context, tags: ) block.call rescue Exception => exception log_errors(scope.span, exception) if scope raise exception ensure scope.close if scope end |
.tags ⇒ Object
28 29 30 |
# File 'lib/sync_machine/tracer_adapters/open_tracing_adapter.rb', line 28 def self. { 'component' => 'SyncMachine', 'span.kind' => 'server' } end |
.tracer ⇒ Object
32 33 34 |
# File 'lib/sync_machine/tracer_adapters/open_tracing_adapter.rb', line 32 def self.tracer OpenTracing.global_tracer end |