Class: Sidekiq::Instrument::ClientMiddleware

Inherits:
Object
  • Object
show all
Includes:
MetricNames
Defined in:
lib/sidekiq/instrument/middleware/client.rb

Instance Method Summary collapse

Methods included from MetricNames

#metric_name, #worker_dog_options

Instance Method Details

#call(worker_class, job, queue, redis_pool) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/sidekiq/instrument/middleware/client.rb', line 10

def call(worker_class, job, queue, redis_pool)
  # worker_class is a const in sidekiq >= 6.x
  klass = Object.const_get(worker_class.to_s)
  class_instance = klass.new
  Statter.statsd.increment(metric_name(class_instance, 'enqueue'))
  Statter.dogstatsd&.increment('sidekiq.enqueue', worker_dog_options(class_instance))
  WorkerMetrics.trace_workers_increment_counter(klass.name.underscore, redis_pool)
  result = yield
  Statter.dogstatsd&.flush(sync: true)
  result
end