Class: Traxor::Sidekiq::Middleware

Inherits:
Object
  • Object
show all
Defined in:
lib/traxor/sidekiq/middleware.rb

Constant Summary collapse

DURATION_METRIC =
'sidekiq.worker.duration'
COUNT_METRIC =
'sidekiq.worker.count'

Instance Method Summary collapse

Instance Method Details

#call(worker, _job, queue) ⇒ Object



11
12
13
14
15
16
# File 'lib/traxor/sidekiq/middleware.rb', line 11

def call(worker, _job, queue)
  tags = Traxor::Tags.sidekiq = { sidekiq_worker: worker.class.name, sidekiq_queue: queue }
  Metric.count COUNT_METRIC, 1, tags
  time = Benchmark.ms { yield }
  Metric.measure DURATION_METRIC, "#{time.round(2)}ms", tags if time.positive?
end