Module: Evil::Metrics::Sidekiq

Defined in:
lib/evil/metrics/sidekiq.rb,
lib/evil/metrics/sidekiq/version.rb,
lib/evil/metrics/sidekiq/client_middleware.rb,
lib/evil/metrics/sidekiq/server_middleware.rb

Defined Under Namespace

Classes: ClientMiddleware, ServerMiddleware

Constant Summary collapse

LONG_RUNNING_JOB_RUNTIME_BUCKETS =
[
  0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, # standard (from Prometheus)
  30, 60, 120, 300, 1800, 3600, 21_600 # Sidekiq tasks may be very long-running
].freeze
VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.labelize(worker, job, queue) ⇒ Object



77
78
79
# File 'lib/evil/metrics/sidekiq.rb', line 77

def labelize(worker, job, queue)
  { queue: queue, worker: worker_class(worker, job) }
end

.worker_class(worker, job) ⇒ Object



81
82
83
84
85
86
# File 'lib/evil/metrics/sidekiq.rb', line 81

def worker_class(worker, job)
  if defined?(ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper)
    return job["wrapped"] if worker.is_a?(ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper)
  end
  (worker.is_a?(String) ? worker : worker.class).to_s
end