module Mmtrix::Agent::Instrumentation::RackHelpers

Public Class Methods

check_for_late_instrumentation(app) click to toggle source
# File lib/mmtrix/agent/instrumentation/rack.rb, line 67
def self.check_for_late_instrumentation(app)
  return if @checked_for_late_instrumentation
  @checked_for_late_instrumentation = true
  if middleware_instrumentation_enabled?
    if ::Mmtrix::Agent::Instrumentation::MiddlewareProxy.needs_wrapping?(app)
      ::Mmtrix::Agent.logger.info("We weren't able to instrument all of your Rack middlewares.",
                                    "To correct this, ensure you 'require \"mmtrix_rpm\"' before setting up your middleware stack.")
    end
  end
end
middleware_instrumentation_enabled?() click to toggle source
# File lib/mmtrix/agent/instrumentation/rack.rb, line 63
def self.middleware_instrumentation_enabled?
  rack_version_supported? && !::Mmtrix::Agent.config[:disable_middleware_instrumentation]
end
rack_version_supported?() click to toggle source
# File lib/mmtrix/agent/instrumentation/rack.rb, line 57
def self.rack_version_supported?
  version = ::Mmtrix::VersionNumber.new(::Rack.release)
  min_version = ::Mmtrix::VersionNumber.new('1.1.0')
  version >= min_version
end