Sha256: 8cdc0604dc5163398cd25e941a935f37f37783bf7d99282c4a8e819d1ad351c0

Contents?: true

Size: 962 Bytes

Versions: 6

Compression:

Stored size: 962 Bytes

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.

module NewRelic::Agent::Instrumentation
  module RackHelpers
    def self.version_supported?
      rack_version_supported? || puma_rack_version_supported?
    end

    def self.rack_version_supported?
      return false unless defined? ::Rack

      version = Gem::Version.new(::Rack.release)
      min_version = Gem::Version.new('1.1.0')
      version >= min_version
    end

    def self.puma_rack_version_supported?
      return false unless defined? ::Puma::Const::PUMA_VERSION

      version = Gem::Version.new(::Puma::Const::PUMA_VERSION)
      min_version = Gem::Version.new('2.12.0')
      version >= min_version
    end

    def self.middleware_instrumentation_enabled?
      version_supported? && !::NewRelic::Agent.config[:disable_middleware_instrumentation]
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
newrelic_rpm-8.2.0 lib/new_relic/agent/instrumentation/rack/helpers.rb
newrelic_rpm-8.1.0 lib/new_relic/agent/instrumentation/rack/helpers.rb
newrelic_rpm-8.0.0 lib/new_relic/agent/instrumentation/rack/helpers.rb
newrelic_rpm-7.2.0 lib/new_relic/agent/instrumentation/rack/helpers.rb
newrelic_rpm-7.1.0 lib/new_relic/agent/instrumentation/rack/helpers.rb
newrelic_rpm-7.0.0 lib/new_relic/agent/instrumentation/rack/helpers.rb