module OpenTelemetry::Instrumentation::ActionPack::Patches::ActionController::Metal
Module to prepend to ActionController::Metal
for instrumentation
Public Instance Methods
dispatch(name, request, response)
click to toggle source
Calls superclass method
# 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 rack_span.name = "#{self.class.name}##{name}" if rack_span.context.valid? && !request.env['action_dispatch.exception'] add_rails_route(rack_span, request) if instrumentation_config[:enable_recognize_route] super(name, request, response) end
Private Instance Methods
add_rails_route(rack_span, request)
click to toggle source
# File lib/opentelemetry/instrumentation/action_pack/patches/action_controller/metal.rb, line 24 def add_rails_route(rack_span, request) ::Rails.application.routes.router.recognize(request) do |route, _params| rack_span.set_attribute('http.route', route.path.spec.to_s) end end
instrumentation_config()
click to toggle source
# File lib/opentelemetry/instrumentation/action_pack/patches/action_controller/metal.rb, line 30 def instrumentation_config ActionPack::Instrumentation.instance.config end