class ScoutApm::Instruments::MiddlewareSummary
Attributes
context[R]
Public Class Methods
new(context)
click to toggle source
# File lib/scout_apm/instruments/middleware_summary.rb, line 11 def initialize(context) @context = context @installed = false end
Public Instance Methods
build_with_scout_instruments(app = nil, &block)
click to toggle source
# File lib/scout_apm/instruments/middleware_summary.rb, line 30 def build_with_scout_instruments(app = nil, &block) mw_stack = build_without_scout_instruments(app) { block.call if block } if app == mw_stack # Return the raw middleware stack if it equaled app. No # middlewares were created, so nothing to wrap & test. # # Avoids instrumentation of something that doesn't exist mw_stack else MiddlewareSummaryWrapper.new(mw_stack) end end
install()
click to toggle source
# File lib/scout_apm/instruments/middleware_summary.rb, line 24 def install if defined?(ActionDispatch) && defined?(ActionDispatch::MiddlewareStack) @installed = true logger.info("Instrumenting Middleware") ActionDispatch::MiddlewareStack.class_eval do def build_with_scout_instruments(app = nil, &block) mw_stack = build_without_scout_instruments(app) { block.call if block } if app == mw_stack # Return the raw middleware stack if it equaled app. No # middlewares were created, so nothing to wrap & test. # # Avoids instrumentation of something that doesn't exist mw_stack else MiddlewareSummaryWrapper.new(mw_stack) end end alias_method :build_without_scout_instruments, :build alias_method :build, :build_with_scout_instruments end end end
installed?()
click to toggle source
# File lib/scout_apm/instruments/middleware_summary.rb, line 20 def installed? @installed end
logger()
click to toggle source
# File lib/scout_apm/instruments/middleware_summary.rb, line 16 def logger context.logger end