diff --git a/contrib/google.golang.org/grpc/grpc_test.go b/contrib/google.golang.org/grpc/grpc_test.go index 2a372b8385..6d89f3eb31 100644 --- a/contrib/google.golang.org/grpc/grpc_test.go +++ b/contrib/google.golang.org/grpc/grpc_test.go @@ -799,7 +799,9 @@ func TestIgnoredMetadata(t *testing.T) { func BenchmarkUnaryServerInterceptor(b *testing.B) { // need to use the real tracer to get representative measurments - tracer.Start(tracer.WithLogger(log.DiscardLogger{})) + tracer.Start(tracer.WithLogger(log.DiscardLogger{}), + tracer.WithEnv("test"), + tracer.WithServiceVersion("0.1.2")) defer tracer.Stop() doNothingOKGRPCHandler := func(ctx context.Context, req interface{}) (interface{}, error) { @@ -870,4 +872,12 @@ func BenchmarkUnaryServerInterceptor(b *testing.B) { interceptor(ctx, "ignoredRequestValue", methodInfo, doNothingErrorGRPCHandler) } }) + interceptorNoStack := UnaryServerInterceptor(NoDebugStack()) + b.Run("error_no_metadata_no_stack", func(b *testing.B) { + b.ReportAllocs() + b.ResetTimer() + for i := 0; i < b.N; i++ { + interceptorNoStack(ctx, "ignoredRequestValue", methodInfo, doNothingErrorGRPCHandler) + } + }) } diff --git a/ddtrace/tracer/tracer.go b/ddtrace/tracer/tracer.go index b9e1b562cf..e3c40e58f8 100644 --- a/ddtrace/tracer/tracer.go +++ b/ddtrace/tracer/tracer.go @@ -422,10 +422,10 @@ func (t *tracer) StartSpan(operationName string, options ...ddtrace.StartSpanOpt delete(span.Metrics, keyMeasured) } if t.config.version != "" && span.Service == t.config.serviceName { - span.SetTag(ext.Version, t.config.version) + span.setMeta(ext.Version, t.config.version) } if t.config.env != "" { - span.SetTag(ext.Environment, t.config.env) + span.setMeta(ext.Environment, t.config.env) } if _, ok := span.context.samplingPriority(); !ok { // if not already sampled or a brand new trace, sample it