Class: Sidekiq::Instrument::ServerMiddleware
- Inherits:
-
Object
- Object
- Sidekiq::Instrument::ServerMiddleware
- Includes:
- MetricNames
- Defined in:
- lib/sidekiq/instrument/middleware/server.rb
Instance Method Summary collapse
Methods included from MetricNames
#metric_name, #worker_dog_options
Instance Method Details
#call(worker, _job, _queue, &block) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/sidekiq/instrument/middleware/server.rb', line 10 def call(worker, _job, _queue, &block) Statter.statsd.increment(metric_name(worker, 'dequeue')) Statter.dogstatsd&.increment('sidekiq.dequeue', (worker)) start_time = Time.now yield block execution_time_ms = (Time.now - start_time) * 1000 Statter.statsd.measure(metric_name(worker, 'runtime'), execution_time_ms) Statter.dogstatsd&.timing('sidekiq.runtime', execution_time_ms, (worker)) rescue StandardError => e Statter.statsd.increment(metric_name(worker, 'error')) Statter.dogstatsd&.increment('sidekiq.error', (worker)) raise e ensure WorkerMetrics.trace_workers_decrement_counter(worker.class.to_s.underscore) Statter.dogstatsd&.flush(sync: true) end |