class Atatus::GRPC::ClientInterceptor
@api private
Constants
- SUBTYPE
- TYPE
Public Instance Methods
request_response(request:, call:, method:, metadata:) { || ... }
click to toggle source
rubocop:disable Lint/UnusedMethodArgument
# File lib/atatus/grpc.rb, line 29 def request_response(request:, call:, method:, metadata:) return yield unless (transaction = Atatus.current_transaction) if (trace_context = transaction.trace_context) trace_context.apply_headers { |k, v| metadata[k.downcase] = v } end Atatus.with_span( method, TYPE, subtype: SUBTYPE, context: span_context(call) ) do yield end end
Private Instance Methods
span_context(call)
click to toggle source
rubocop:enable Lint/UnusedMethodArgument
# File lib/atatus/grpc.rb, line 47 def span_context(call) peer = call.instance_variable_get(:@wrapped)&.peer return unless peer split_peer = URI.split(peer) destination = Atatus::Span::Context::Destination.new( type: TYPE, name: SUBTYPE, resource: peer, address: split_peer[0], port: split_peer[6] ) Atatus::Span::Context.new(destination: destination) end