Module: Datadog::Contrib::SuckerPunch::Patcher
- Includes:
- Patcher
- 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
Class Method Details
.add_pin! ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/ddtrace/contrib/sucker_punch/patcher.rb', line 33 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
42 43 44 |
# File 'lib/ddtrace/contrib/sucker_punch/patcher.rb', line 42 def get_option(option) Datadog.configuration[:sucker_punch].get_option(option) end |
.patch ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ddtrace/contrib/sucker_punch/patcher.rb', line 18 def patch do_once(:sucker_punch) do begin require 'ddtrace/contrib/sucker_punch/exception_handler' require 'ddtrace/contrib/sucker_punch/instrumentation' add_pin! ExceptionHandler.patch! Instrumentation.patch! rescue StandardError => e Datadog::Tracer.log.error("Unable to apply SuckerPunch integration: #{e}") end end end |
.patched? ⇒ Boolean
14 15 16 |
# File 'lib/ddtrace/contrib/sucker_punch/patcher.rb', line 14 def patched? done?(:sucker_punch) end |