Sha256: 3ff9a2f829667e2291510f029a4a278ea6f01acd0ae906bb0b4551b122f14124

Contents?: true

Size: 1013 Bytes

Versions: 17

Compression:

Stored size: 1013 Bytes

Contents

require 'ddtrace/contrib/patcher'
require 'ddtrace/ext/app_types'
require 'ddtrace/contrib/sucker_punch/ext'

module Datadog
  module Contrib
    module SuckerPunch
      # Patcher enables patching of 'sucker_punch' module.
      module Patcher
        include Contrib::Patcher

        module_function

        def target_version
          Integration.version
        end

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

          add_pin!
          ExceptionHandler.patch!
          Instrumentation.patch!
        end

        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

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

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
ddtrace-0.51.1 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.51.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.50.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.49.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.48.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.47.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.46.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.45.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.44.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.43.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.42.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.41.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ls-trace-0.2.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.40.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.39.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.38.0 lib/ddtrace/contrib/sucker_punch/patcher.rb
ddtrace-0.37.0 lib/ddtrace/contrib/sucker_punch/patcher.rb