Class: Deimos::Tracing::Datadog

Inherits:
Provider
  • Object
show all
Defined in:
lib/deimos/tracing/datadog.rb

Overview

Tracing wrapper class for Datadog.

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Datadog

:nodoc:



10
11
12
13
14
# File 'lib/deimos/tracing/datadog.rb', line 10

def initialize(config)
  raise 'Tracing config must specify service_name' if config[:service_name].nil?

  @service = config[:service_name]
end

Instance Method Details

#finish(span) ⇒ Object

:nodoc:



25
26
27
# File 'lib/deimos/tracing/datadog.rb', line 25

def finish(span)
  span.finish
end

#set_error(span, exception) ⇒ Object

:nodoc:



30
31
32
# File 'lib/deimos/tracing/datadog.rb', line 30

def set_error(span, exception)
  span.set_error(exception)
end

#start(span_name, options = {}) ⇒ Object

:nodoc:



17
18
19
20
21
22
# File 'lib/deimos/tracing/datadog.rb', line 17

def start(span_name, options={})
  span = ::Datadog.tracer.trace(span_name)
  span.service = @service
  span.resource = options[:resource]
  span
end