class Skylight::Core::Sidekiq::ServerMiddleware

Public Class Methods

new(instrumentable) click to toggle source
# File lib/skylight/core/sidekiq.rb, line 23
def initialize(instrumentable)
  @instrumentable = instrumentable
end

Public Instance Methods

call(_worker, job, queue) { || ... } click to toggle source
# File lib/skylight/core/sidekiq.rb, line 27
def call(_worker, job, queue)
  t { "Sidekiq middleware beginning trace" }
  title = job["wrapped"] || job["class"]
  @instrumentable.trace(title, "app.sidekiq.worker", title, segment: queue, component: :worker) do |trace|
    begin
      yield
    rescue Exception # includes Sidekiq::Shutdown
      trace.segment = "error" if trace
      raise
    end
  end
end