Module: Foam::Otel::Sidekiq

Defined in:
lib/foam/otel/sidekiq.rb

Overview

Sidekiq consumer adapter (contract SPEC.md sections 2, 3, 10): one root span per job named "sidekiq.consume ", kind consumer, stamped sidekiq.consume. foam.rid baggage is jid-derived (queue consumers with no inbound rid derive it from the job id). Failures record + ERROR and RE-RAISE identically — Sidekiq's retry behavior is untouched. Auto-registered by init() when Sidekiq is present (opt out with sidekiq: false).

Defined Under Namespace

Classes: ServerMiddleware

Class Method Summary collapse

Class Method Details

.install!Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/foam/otel/sidekiq.rb', line 18

def self.install!
  return false if @installed
  return false unless defined?(::Sidekiq) && ::Sidekiq.respond_to?(:configure_server)

  ::Sidekiq.configure_server do |config|
    config.server_middleware do |chain|
      chain.add(ServerMiddleware)
    end
  end
  @installed = true
  true
rescue StandardError
  false
end