module Datadog::Contrib::GRPC::Patcher

Patcher enables patching of 'grpc' module.

Public Instance Methods

add_pin!() click to toggle source
# File lib/ddtrace/contrib/grpc/patcher.rb, line 27
def add_pin!
  DeprecatedPin.new(
    get_option(:service_name),
    app: Ext::APP,
    app_type: Datadog::Ext::AppTypes::WEB,
    tracer: -> { get_option(:tracer) }
  ).onto(::GRPC)
end
get_option(option) click to toggle source
# File lib/ddtrace/contrib/grpc/patcher.rb, line 41
def get_option(option)
  Datadog.configuration[:grpc].get_option(option)
end
patch() click to toggle source
# File lib/ddtrace/contrib/grpc/patcher.rb, line 17
def patch
  require 'ddtrace/propagation/grpc_propagator'
  require 'ddtrace/contrib/grpc/datadog_interceptor'
  require 'ddtrace/contrib/grpc/intercept_with_datadog'

  add_pin!

  prepend_interceptor
end
prepend_interceptor() click to toggle source
# File lib/ddtrace/contrib/grpc/patcher.rb, line 36
def prepend_interceptor
  ::GRPC::InterceptionContext
    .send(:prepend, Datadog::Contrib::GRPC::InterceptWithDatadog)
end
target_version() click to toggle source
# File lib/ddtrace/contrib/grpc/patcher.rb, line 13
def target_version
  Integration.version
end