Sha256: 008d005ec05a009a993d81a2f7858aad24a6d5dbbc434691451a3ddd571112a8
Contents?: true
Size: 919 Bytes
Versions: 8
Compression:
Stored size: 919 Bytes
Contents
module Rails module Rack class Tracer def initialize(app) @app = app end def call(env) @app.call(env) ensure enhance_rack_span(env) end private def enhance_rack_span(env) span = extract_span(env) if span && route_found?(env) span.operation_name = operation_name(env) end end def extract_span(env) env['rack.span'] end def route_found?(env) env["action_dispatch.request.path_parameters"] end def operation_name(env) path_parameters = env["action_dispatch.request.path_parameters"] action_controller = env["action_controller.instance"] controller = action_controller ? action_controller.class.to_s : path_parameters[:controller] action = path_parameters[:action] "#{controller}##{action}" end end end end
Version data entries
8 entries across 8 versions & 1 rubygems