class Honeybadger::Plugins::Sidekiq::ServerMiddlewareInstrumentation
def call(worker, msg, queue, &block)
def call(worker, msg, queue, &block) context = if msg["wrapped"] { jid: msg["jid"], worker: msg["wrapped"], queue: queue } else { jid: msg["jid"], worker: msg["class"], queue: queue } end begin duration = Honeybadger.instrumentation.monotonic_timer { block.call }[0] status = "success" rescue status = "failure" raise ensure context[:duration] = duration context[:status] = status if Honeybadger.config.load_plugin_insights_events?(:sidekiq) Honeybadger.event("perform.sidekiq", context) end if Honeybadger.config.load_plugin_insights_metrics?(:sidekiq) metric_source "sidekiq" gauge "perform", context.slice(:worker, :queue, :duration) end end end