Module: Datadog::Contrib::SuckerPunch::Patcher

Includes:
Patcher, Kernel
Defined in:
lib/ddtrace/contrib/sucker_punch/patcher.rb

Overview

Patcher enables patching of 'sucker_punch' module.

Class Method Summary collapse

Methods included from Patcher

included

Class Method Details

.add_pin!Object



29
30
31
32
33
34
35
36
# File 'lib/ddtrace/contrib/sucker_punch/patcher.rb', line 29

def add_pin!
  Pin.new(
    get_option(:service_name),
    app: Ext::APP,
    app_type: Datadog::Ext::AppTypes::WORKER,
    tracer: -> { get_option(:tracer) }
  ).onto(::SuckerPunch)
end

.get_option(option) ⇒ Object



38
39
40
# File 'lib/ddtrace/contrib/sucker_punch/patcher.rb', line 38

def get_option(option)
  Datadog.configuration[:sucker_punch].get_option(option)
end

.patchObject



20
21
22
23
24
25
26
27
# File 'lib/ddtrace/contrib/sucker_punch/patcher.rb', line 20

def patch
  require 'ddtrace/contrib/sucker_punch/exception_handler'
  require 'ddtrace/contrib/sucker_punch/instrumentation'

  add_pin!
  ExceptionHandler.patch!
  Instrumentation.patch!
end

.target_versionObject



16
17
18
# File 'lib/ddtrace/contrib/sucker_punch/patcher.rb', line 16

def target_version
  Integration.version
end