Class: ApmTraceable::Adapters::DatadogAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/apm_traceable/adapters/datadog_adapter.rb

Overview

Datadogへトレース結果を送るためのアダプター

Constant Summary collapse

RESOURCE_NAME_CACHE =
Concurrent::Map.new
UNKNOWN_CLASS_NAME =
'unknown_class'

Instance Method Summary collapse

Constructor Details

#initialize(service_name:) ⇒ DatadogAdapter

Returns a new instance of DatadogAdapter.



14
15
16
17
18
# File 'lib/apm_traceable/adapters/datadog_adapter.rb', line 14

def initialize(service_name:)
  super()

  @service_name = service_name
end

Instance Method Details

#trace(trace_name, context_class:, **options, &block) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/apm_traceable/adapters/datadog_adapter.rb', line 20

def trace(trace_name, context_class:, **options, &block)
  ::Datadog::Tracing.trace(
    trace_name,
    **options.merge(service: service_name, resource: resource_name(context_class)),
    &block
  )
end