class Watchman::Sidekiq::Middleware

Public Instance Methods

call(worker, job, queue) { || ... } click to toggle source
# File lib/watchman/sidekiq/middleware.rb, line 4
def call(worker, job, queue)
  Watchman.benchmark(metric_name(queue, worker)) do
    yield
  end
end
metric_name(queue, worker) click to toggle source
# File lib/watchman/sidekiq/middleware.rb, line 10
def metric_name(queue, worker)
  worker_name = worker.class
                      .name
                      .gsub(/::/, '_')
                      .gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
                      .gsub(/([a-z\d])([A-Z])/,'\1_\2')
                      .tr("-", "_")
                      .downcase

  "sidekiq.#{queue}.#{worker_name}"
end