class ElasticAPM::GRPC::ClientInterceptor

def request_response(request:, call:, method:, metadata:)

rubocop:disable Lint/UnusedMethodArgument, Style/ExplicitBlockArgument
def request_response(request:, call:, method:, metadata:)
  return yield unless (transaction = ElasticAPM.current_transaction)
  if (trace_context = transaction.trace_context)
    trace_context.apply_headers { |k, v| metadata[k.downcase] = v }
  end
  ElasticAPM.with_span(
    method, TYPE,
    subtype: SUBTYPE,
    context: span_context(call)
  ) do
    yield
  end
end