75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# File 'lib/brainzlab/instrumentation/resque.rb', line 75
def around_perform_brainzlab(*_args)
job_class = name
queue = Resque.queue_from_class(self) || 'default'
started_at = Time.now
BrainzLab::Context.current.set_context(
job_class: job_class,
queue: queue
)
begin
yield
ensure
duration_ms = ((Time.now - started_at) * 1000).round(2)
if BrainzLab.configuration.pulse_effectively_enabled?
BrainzLab::Pulse.record_trace(
"job.#{job_class}",
kind: 'job',
started_at: started_at,
ended_at: Time.now,
job_class: job_class,
queue: queue
)
end
if BrainzLab.configuration.flux_effectively_enabled?
tags = { job_class: job_class, queue: queue }
BrainzLab::Flux.distribution('resque.job.duration_ms', duration_ms, tags: tags)
BrainzLab::Flux.increment('resque.job.processed', tags: tags)
end
BrainzLab.clear_context!
end
end
|