class OpenTelemetry::Adapters::Rack::Adapter
The Adapter
class contains logic to detect and install the Rack
instrumentation adapter
Constants
- MissingApplicationError
Private Instance Methods
call(env)
click to toggle source
# File lib/opentelemetry/adapters/rack/adapter.rb, line 43 def call(env) env['RESPONSE_MIDDLEWARE'] = self.class.to_s __call(env) end
require_dependencies()
click to toggle source
# File lib/opentelemetry/adapters/rack/adapter.rb, line 27 def require_dependencies require_relative 'middlewares/tracer_middleware' end
retain_middleware_names()
click to toggle source
intercept all middleware-compatible calls, retain class name
# File lib/opentelemetry/adapters/rack/adapter.rb, line 34 def retain_middleware_names next_middleware = config[:application] raise MissingApplicationError unless next_middleware while next_middleware if next_middleware.respond_to?(:call) next_middleware.singleton_class.class_eval do alias_method :__call, :call def call(env) env['RESPONSE_MIDDLEWARE'] = self.class.to_s __call(env) end end end next_middleware = next_middleware.instance_variable_defined?('@app') && next_middleware.instance_variable_get('@app') end end