lib/ddtrace/contrib/sidekiq/tracer.rb in ddtrace-0.9.2 vs lib/ddtrace/contrib/sidekiq/tracer.rb in ddtrace-0.10.0
- old
+ new
@@ -12,25 +12,25 @@
Datadog::Tracer.log.debug("Activating instrumentation for Sidekiq '#{sidekiq_vs}'")
module Datadog
module Contrib
module Sidekiq
- DEFAULT_CONFIG = {
- enabled: true,
- sidekiq_service: 'sidekiq',
- tracer: Datadog.tracer,
- debug: false,
- trace_agent_hostname: Datadog::Writer::HOSTNAME,
- trace_agent_port: Datadog::Writer::PORT
- }.freeze
-
# Middleware is a Sidekiq server-side middleware which traces executed jobs
class Tracer
+ include Base
+ register_as :sidekiq
+
+ option :enabled, default: true
+ option :sidekiq_service, default: 'sidekiq'
+ option :tracer, default: Datadog.tracer
+ option :debug, default: false
+ option :trace_agent_hostname, default: Writer::HOSTNAME
+ option :trace_agent_port, default: Writer::PORT
+
def initialize(options = {})
# check if Rails configuration is available and use it to override
# Sidekiq defaults
- rails_config = ::Rails.configuration.datadog_trace rescue {}
- base_config = DEFAULT_CONFIG.merge(rails_config)
+ base_config = Datadog.configuration[:sidekiq].merge(Datadog.configuration[:rails])
user_config = base_config.merge(options)
@tracer = user_config[:tracer]
@sidekiq_service = user_config[:sidekiq_service]
# set Tracer status