Module: NewRelic::Agent::Instrumentation::DelayedJob
- Included in:
- Prepend
- Defined in:
- lib/new_relic/agent/instrumentation/delayed_job/chain.rb,
lib/new_relic/agent/instrumentation/delayed_job/prepend.rb,
lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb,
lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb
Defined Under Namespace
Modules: Chain, Naming, Prepend
Instance Method Summary
collapse
Instance Method Details
#initialize_with_tracing ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb', line 9
def initialize_with_tracing
yield
worker_name = case
when self.respond_to?(:name) then self.name
when self.class.respond_to?(:default_name) then self.class.default_name
end
NewRelic::DelayedJobInjection.worker_name = worker_name
if defined?(::Delayed::Job) && ::Delayed::Job.method_defined?(:invoke_job) && !job_tracer_installed?
::NewRelic::Agent.logger.info('Installing DelayedJob instrumentation [part 2/2]')
install_newrelic_job_tracer
NewRelic::Control.instance.init_plugin(:dispatcher => :delayed_job)
else
NewRelic::Agent.logger.warn('Did not find a Delayed::Job class responding to invoke_job, aborting DJ instrumentation')
end
end
|
#job_tracer_installed? ⇒ Boolean
26
27
28
29
|
# File 'lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb', line 26
def job_tracer_installed?
::Delayed::Job.method_defined?(:invoke_job_without_new_relic) ||
::Delayed::Job <= ::NewRelic::Agent::Instrumentation::DelayedJobTracerPrepend
end
|