Sha256: c3b083b08cde775499fa51338e0cdf088a6dc44a82c7733f61eab32df666e49e

Contents?: true

Size: 941 Bytes

Versions: 24

Compression:

Stored size: 941 Bytes

Contents

require_relative '../../../core/utils/only_once'
require_relative 'instrumentation'
require_relative '../patcher'

module Datadog
  module Tracing
    module Contrib
      # Datadog Httprb integration.
      module Httprb
        # Patcher enables patching of 'httprb' module.
        module Patcher
          include Contrib::Patcher

          PATCH_ONLY_ONCE = Core::Utils::OnlyOnce.new

          module_function

          def patched?
            PATCH_ONLY_ONCE.ran?
          end

          def target_version
            Integration.version
          end

          # patch applies our patch
          def patch
            PATCH_ONLY_ONCE.run do
              begin
                ::HTTP::Client.include(Instrumentation)
              rescue StandardError => e
                Datadog.logger.error("Unable to apply httprb integration: #{e}")
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
ddtrace-1.23.3 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.23.2 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.23.1 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.22.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.21.1 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.21.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.20.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.19.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.18.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.17.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.16.2 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.16.1 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.16.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.15.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.14.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.13.1 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.13.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.12.1 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.12.0 lib/datadog/tracing/contrib/httprb/patcher.rb
ddtrace-1.11.1 lib/datadog/tracing/contrib/httprb/patcher.rb