Class: OneApm::Rack::MiddlewareBase

Inherits:
Object
  • Object
show all
Includes:
MiddlewareHelper, MiddlewareTracing
Defined in:
lib/one_apm/rack/middleware_base.rb

Direct Known Subclasses

BrowserMonitoring, DeveloperMode, MiddlewareHooks

Constant Summary

Constants included from MiddlewareTracing

OneApm::Rack::MiddlewareTracing::OA_TXN_STARTED_KEY

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from MiddlewareHelper

#close_old_response, #gather_source

Methods included from MiddlewareTracing

#_oa_has_middleware_tracing, #build_transaction_options, #call, #capture_http_response_code, #events, #merge_first_middleware_options, #note_transaction_started

Constructor Details

#initialize(app, options = {}) ⇒ MiddlewareBase

Returns a new instance of MiddlewareBase.



14
15
16
17
18
19
20
21
# File 'lib/one_apm/rack/middleware_base.rb', line 14

def initialize(app, options={})
  @app = app
  @category = :middleware
  @target   = self
  @transaction_options = {
    :transaction_name => build_transaction_name
  }
end

Instance Attribute Details

#categoryObject (readonly)

Returns the value of attribute category.



12
13
14
# File 'lib/one_apm/rack/middleware_base.rb', line 12

def category
  @category
end

#targetObject (readonly)

Returns the value of attribute target.



12
13
14
# File 'lib/one_apm/rack/middleware_base.rb', line 12

def target
  @target
end

#transaction_optionsObject (readonly)

Returns the value of attribute transaction_options.



12
13
14
# File 'lib/one_apm/rack/middleware_base.rb', line 12

def transaction_options
  @transaction_options
end

Instance Method Details

#build_transaction_nameObject



23
24
25
26
# File 'lib/one_apm/rack/middleware_base.rb', line 23

def build_transaction_name
  prefix = OneApm::TransactionNamer.prefix_for_category(nil, @category)
  "#{prefix}#{self.class.name}/call"
end

#middleware_ignore?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/one_apm/rack/middleware_base.rb', line 28

def middleware_ignore?
  OneApm::Manager.config[:disable_rails_middleware]
end