Sha256: 0d4575e9793f755337653486a78a05c7267313492f316f49962a278b592b13d8

Contents?: true

Size: 1.15 KB

Versions: 2

Compression:

Stored size: 1.15 KB

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.
# frozen_string_literal: true

require 'new_relic/agent/event_listener'
require 'new_relic/rack/agent_middleware'
require 'new_relic/agent/instrumentation/middleware_proxy'

module NewRelic::Rack
  # This middleware is used internally by the agent in the rare case
  # where the disable_middleware_instrumentation configuration setting
  # is true.  In Rails and Sinatra applications this middleware will be
  # automatically injected if necessary.
  #
  # If you have disabled middleware instrumentation and are not using Rails or
  # Sinatra you can include this middleware manually in your config.ru file.
  #
  # All of the functionality of this module resides in the MiddlewareTracing
  # module, which is shared between it and our third party middleware
  # instrumentation.
  #
  # @api public
  #
  class AgentHooks < AgentMiddleware
    def self.needed?
      !NewRelic::Agent.config[:disable_middleware_instrumentation]
    end

    def traced_call(env)
      @app.call(env)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
newrelic_rpm-8.10.1 lib/new_relic/rack/agent_hooks.rb
newrelic_rpm-8.10.0 lib/new_relic/rack/agent_hooks.rb