Module: OpenTelemetry::Instrumentation::ActionPack::Patches::ActionController::Metal

Defined in:
lib/opentelemetry/instrumentation/action_pack/patches/action_controller/metal.rb

Overview

Module to prepend to ActionController::Metal for instrumentation

Instance Method Summary collapse

Instance Method Details

#dispatch(name, request, response) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/opentelemetry/instrumentation/action_pack/patches/action_controller/metal.rb', line 14

def dispatch(name, request, response)
  rack_span = OpenTelemetry::Instrumentation::Rack.current_span
  if rack_span.recording?
    rack_span.name = "#{self.class.name}##{name}" unless request.env['action_dispatch.exception']

    add_rails_route(rack_span, request) if instrumentation_config[:enable_recognize_route]

    rack_span.set_attribute('http.target', request.filtered_path) if request.filtered_path != request.fullpath
  end

  super(name, request, response)
end