class Mettric::SidekiqMiddleware

Public Class Methods

install() click to toggle source
# File lib/mettric/sidekiq_middleware.rb, line 5
def self.install
  return if @installed
  return unless Kernel.const_defined?(:Sidekiq)
  @installed = true
  Sidekiq.configure_server do |config|
    config.server_middleware do |chain|
      chain.add Mettric::SidekiqMiddleware
    end
  end
end
new(_options = {}) click to toggle source
# File lib/mettric/sidekiq_middleware.rb, line 16
def initialize(_options = {})
end

Public Instance Methods

call(worker, msg, queue) { || ... } click to toggle source
# File lib/mettric/sidekiq_middleware.rb, line 19
def call(worker, msg, queue)
  opts = worker.class.sidekiq_options['mettric']

  # Don't do anything if we're told to skip this class
  if opts != true and opts != nil
    return yield
  end

  # Tracking under this name
  service = "sidekiq.#{queue.to_s.underscore}.#{worker.class.name.underscore}"

  # Yield & time
  (service: service, tags: ['sidekiq']) do
    yield
  end
rescue Mettric::Error => _e
end