Sha256: 691c7f14e9cae82ce22d5d707c7fd070f8f1e40f8b808f714c85f7eab0334fc5
Contents?: true
Size: 1.1 KB
Versions: 24
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module Mnemosyne module Probes module Sidekiq module Client class Probe < ::Mnemosyne::Probe def setup ::Sidekiq.configure_client do |config| config.client_middleware do |chain| chain.prepend Middleware end end end end class Middleware def call(_worker, job, _queue, _redis) if (trace = ::Mnemosyne::Instrumenter.current_trace) meta = { worker: job['class'], queue: job['queue'], arguments: job['args'], raw: job.clone } span = ::Mnemosyne::Span.new('external.job.sidekiq', meta: meta) span.finish! oneshot: true job['mnemosyne.transaction'] = trace.transaction job['mnemosyne.origin'] = span.uuid trace << span end yield end end end end register 'Sidekiq::Client', 'sidekiq/client', Sidekiq::Client::Probe.new end end
Version data entries
24 entries across 24 versions & 1 rubygems