class Datadog::Tracing::Contrib::GRPC::DatadogInterceptor::Server
def annotate!(span, metadata, formatter)
def annotate!(span, metadata, formatter) metadata.each do |header, value| # Datadog propagation headers are considered internal implementation detail. next if header.to_s.start_with?(Tracing::Distributed::Datadog::TAGS_PREFIX) span.set_tag(header, value) end # Tag original global service name if not used if span.service != Datadog.configuration.service span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service) end span.set_tag(Tracing::Metadata::Ext::TAG_KIND, Tracing::Metadata::Ext::SpanKind::TAG_SERVER) span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT) span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_SERVICE) span.set_tag(Contrib::Ext::RPC::TAG_SYSTEM, Ext::TAG_SYSTEM) span.set_tag(Contrib::Ext::RPC::TAG_SERVICE, formatter.legacy_grpc_service) span.set_tag(Contrib::Ext::RPC::TAG_METHOD, formatter.legacy_grpc_method) span.set_tag(Contrib::Ext::RPC::GRPC::TAG_FULL_METHOD, formatter.grpc_full_method) # Set analytics sample rate Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled? # Measure service stats Contrib::Analytics.set_measured(span) rescue StandardError => e Datadog.logger.debug("GRPC server trace failed: #{e}") end