module OneApm::Agent::Instrumentation::Rack
Public Class Methods
extended(middleware)
click to toggle source
# File lib/one_apm/inst/rack/rack.rb, line 28 def self.extended middleware middleware.class_eval do class << self alias call_without_oneapm call alias call call_with_oneapm end end end
included(middleware)
click to toggle source
# File lib/one_apm/inst/rack/rack.rb, line 21 def self.included middleware middleware.class_eval do alias call_without_oneapm call alias call call_with_oneapm end end
Public Instance Methods
_oa_has_middleware_tracing()
click to toggle source
# File lib/one_apm/inst/rack/rack.rb, line 37 def _oa_has_middleware_tracing true end
call_with_oneapm(*args)
click to toggle source
# File lib/one_apm/inst/rack/rack.rb, line 11 def call_with_oneapm(*args) @oneapm_request = ::Rack::Request.new(args.first) perform_action_with_oneapm_trace(:category => :middleware, :request => @oneapm_request) do result = call_without_oneapm(*args) # Ignore cascaded calls Transaction.abort_transaction! if result.first == 404 result end end
oneapm_request_headers(_)
click to toggle source
# File lib/one_apm/inst/rack/rack.rb, line 7 def oneapm_request_headers(_) @oneapm_request.env end