Sha256: 805d28cc422d8be32bb4e61c03035cf96df9c9def0bbf0655050cfc72ed0c696

Contents?: true

Size: 875 Bytes

Versions: 9

Compression:

Stored size: 875 Bytes

Contents

# typed: true

require_relative 'ext'
require_relative '../patcher'

module Datadog
  module Tracing
    module Contrib
      module GRPC
        # Patcher enables patching of 'grpc' module.
        module Patcher
          include Kernel # Ensure that kernel methods are always available (https://sorbet.org/docs/error-reference#7003)
          include Contrib::Patcher

          module_function

          def target_version
            Integration.version
          end

          def patch
            require_relative '../../propagation/grpc'
            require_relative 'datadog_interceptor'
            require_relative 'intercept_with_datadog'

            prepend_interceptor
          end

          def prepend_interceptor
            ::GRPC::InterceptionContext
              .prepend(InterceptWithDatadog)
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ddtrace-1.6.1 lib/datadog/tracing/contrib/grpc/patcher.rb
ddtrace-1.6.0 lib/datadog/tracing/contrib/grpc/patcher.rb
ddtrace-1.5.2 lib/datadog/tracing/contrib/grpc/patcher.rb
ddtrace-1.5.1 lib/datadog/tracing/contrib/grpc/patcher.rb
ddtrace-1.5.0 lib/datadog/tracing/contrib/grpc/patcher.rb
ddtrace-1.4.2 lib/datadog/tracing/contrib/grpc/patcher.rb
ddtrace-1.4.1 lib/datadog/tracing/contrib/grpc/patcher.rb
ddtrace-1.4.0 lib/datadog/tracing/contrib/grpc/patcher.rb
ddtrace-1.3.0 lib/datadog/tracing/contrib/grpc/patcher.rb