Module: OneApm::Agent::Instrumentation::Rack
Constant Summary
TransactionBase::OA_DEFAULT_OPTIONS, TransactionBase::OA_DO_NOT_TRACE_KEY, TransactionBase::OA_IGNORE_APDEX_KEY, TransactionBase::OA_IGNORE_ENDUSER_KEY
Class Method Summary
collapse
Instance Method Summary
collapse
#perform_action_with_oneapm_trace
Class Method Details
.extended(middleware) ⇒ Object
28
29
30
31
32
33
34
35
|
# File 'lib/one_apm/inst/rack/rack.rb', line 28
def self.extended middleware
middleware.class_eval do
class << self
alias call_without_oneapm call
alias call call_with_oneapm
end
end
end
|
.included(middleware) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/one_apm/inst/rack/rack.rb', line 21
def self.included middleware
middleware.class_eval do
alias call_without_oneapm call
alias call call_with_oneapm
end
end
|
Instance Method Details
#_oa_has_middleware_tracing ⇒ Object
37
38
39
|
# File 'lib/one_apm/inst/rack/rack.rb', line 37
def _oa_has_middleware_tracing
true
end
|
#call_with_oneapm(*args) ⇒ Object
11
12
13
14
15
16
17
18
19
|
# File 'lib/one_apm/inst/rack/rack.rb', line 11
def call_with_oneapm(*args)
@oneapm_request = ::Rack::Request.new(args.first)
perform_action_with_oneapm_trace(:category => :middleware, :request => @oneapm_request) do
result = call_without_oneapm(*args)
Transaction.abort_transaction! if result.first == 404
result
end
end
|
7
8
9
|
# File 'lib/one_apm/inst/rack/rack.rb', line 7
def (_)
@oneapm_request.env
end
|