Module: Datadog::Contrib::Sidekiq::Patcher
- Includes:
- Patcher
- Defined in:
- lib/ddtrace/contrib/sidekiq/patcher.rb
Overview
Patcher enables patching of 'sidekiq' module.
Class Method Summary collapse
- .patch ⇒ Object
- .patch_server_heartbeat ⇒ Object
- .patch_server_internals ⇒ Object
- .patch_server_job_fetch ⇒ Object
- .patch_server_scheduled_push ⇒ Object
- .target_version ⇒ Object
Methods included from Patcher
Class Method Details
.patch ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/ddtrace/contrib/sidekiq/patcher.rb', line 17 def patch require 'ddtrace/contrib/sidekiq/client_tracer' require 'ddtrace/contrib/sidekiq/server_tracer' ::Sidekiq.configure_client do |config| config.client_middleware do |chain| chain.add(Sidekiq::ClientTracer) end end ::Sidekiq.configure_server do |config| # If a job enqueues another job, make sure it has the same client # middleware. config.client_middleware do |chain| chain.add(Sidekiq::ClientTracer) end config.server_middleware do |chain| chain.add(Sidekiq::ServerTracer) end patch_server_internals if Integration.compatible_with_server_internal_tracing? end end |
.patch_server_heartbeat ⇒ Object
48 49 50 51 52 |
# File 'lib/ddtrace/contrib/sidekiq/patcher.rb', line 48 def patch_server_heartbeat require 'ddtrace/contrib/sidekiq/server_internal_tracer/heartbeat' ::Sidekiq::Launcher.prepend(ServerInternalTracer::Heartbeat) end |
.patch_server_internals ⇒ Object
42 43 44 45 46 |
# File 'lib/ddtrace/contrib/sidekiq/patcher.rb', line 42 def patch_server_internals patch_server_heartbeat patch_server_job_fetch patch_server_scheduled_push end |
.patch_server_job_fetch ⇒ Object
54 55 56 57 58 |
# File 'lib/ddtrace/contrib/sidekiq/patcher.rb', line 54 def patch_server_job_fetch require 'ddtrace/contrib/sidekiq/server_internal_tracer/job_fetch' ::Sidekiq::Processor.prepend(ServerInternalTracer::JobFetch) end |
.patch_server_scheduled_push ⇒ Object
60 61 62 63 64 |
# File 'lib/ddtrace/contrib/sidekiq/patcher.rb', line 60 def patch_server_scheduled_push require 'ddtrace/contrib/sidekiq/server_internal_tracer/scheduled_push' ::Sidekiq::Scheduled::Poller.prepend(ServerInternalTracer::ScheduledPush) end |
.target_version ⇒ Object
13 14 15 |
# File 'lib/ddtrace/contrib/sidekiq/patcher.rb', line 13 def target_version Integration.version end |