Sha256: af8e70ce9006fd56e443143de2cbd8be5818ea8240fb89fb3562b5c9a2171803
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
module Skylight module Sidekiq def self.add_middleware unless defined?(::Sidekiq) Skylight.warn "Skylight for Sidekiq is active, but Sidekiq is not defined." return end ::Sidekiq.configure_server do |sidekiq_config| Skylight.debug "Adding Sidekiq Middleware" sidekiq_config.server_middleware do |chain| # Put it at the front chain.prepend ServerMiddleware end end end class ServerMiddleware include Util::Logging def call(_worker, job, queue) t { "Sidekiq middleware beginning trace" } title = job["wrapped"] || job["class"] Skylight.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 end ActiveSupport::Notifications.subscribe("started_instrumenter.skylight") \ do |_name, _started, _finished, _unique_id, payload| if payload[:instrumenter].config.enable_sidekiq? add_middleware end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
skylight-5.0.0.beta | lib/skylight/sidekiq.rb |