Class: Console::Output::Datadog::Wrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/console/output/datadog/wrapper.rb

Instance Method Summary collapse

Constructor Details

#initialize(output) ⇒ Wrapper

Returns a new instance of Wrapper.



37
38
39
# File 'lib/console/output/datadog/wrapper.rb', line 37

def initialize(output)
  @output = output
end

Instance Method Details

#call(subject = nil, *arguments, **options, &block) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/console/output/datadog/wrapper.rb', line 41

def call(subject = nil, *arguments, **options, &block)
  if trace = ::Datadog::Tracing.active_trace
    if span = trace.active_span
      options[:dd] = {
        span_id: span.id.to_s,
        trace_id: format_trace_id(trace.id)
      }
    else
      options[:dd] = {
        trace_id: format_trace_id(trace.id)
      }
    end
  end
  
  @output.call(subject, *arguments, **options, &block)
end