Sha256: 9b1dfbf22451ce2d93822388c3504808e98a329d5da6e5c45fa9f35ea4d80db8

Contents?: true

Size: 745 Bytes

Versions: 4

Compression:

Stored size: 745 Bytes

Contents

# frozen_string_literal: true

require 'sidekiq/instrument/mixin'
require 'active_support/core_ext/string/inflections'

module Sidekiq::Instrument
  class ClientMiddleware
    include Sidekiq::Instrument::MetricNames

    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
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sidekiq-instrument-0.6.2 lib/sidekiq/instrument/middleware/client.rb
sidekiq-instrument-0.6.1 lib/sidekiq/instrument/middleware/client.rb
sidekiq-instrument-0.6.0 lib/sidekiq/instrument/middleware/client.rb
sidekiq-instrument-0.5.6 lib/sidekiq/instrument/middleware/client.rb