diff --git a/pkg/tracing/tracing.go b/pkg/tracing/tracing.go index 99526f8d7c..db30417447 100644 --- a/pkg/tracing/tracing.go +++ b/pkg/tracing/tracing.go @@ -86,7 +86,6 @@ func DoInSpan(ctx context.Context, tracerName string, operationName string, doFn } // StartSpan creates a span from a context with `operationName` name -func StartSpan(ctx context.Context, tracerName string, operationName string, attributes []attribute.KeyValue) trace.Span { - _, span := otel.Tracer(tracerName).Start(ctx, operationName, trace.WithAttributes(attributes...)) - return span +func StartSpan(ctx context.Context, tracerName string, operationName string, attributes ...attribute.KeyValue) (context.Context, trace.Span) { + return otel.Tracer(tracerName).Start(ctx, operationName, trace.WithAttributes(attributes...)) } diff --git a/pkg/webhooks/handlers/admission.go b/pkg/webhooks/handlers/admission.go index 4b72b6b5c7..2d2145ff0e 100644 --- a/pkg/webhooks/handlers/admission.go +++ b/pkg/webhooks/handlers/admission.go @@ -70,14 +70,16 @@ func withAdmission(logger logr.Logger, inner AdmissionHandler) http.HandlerFunc } // start span from request context - attributes := []attribute.KeyValue{ + _, span := tracing.StartSpan( + ctx, + "admission_webhook_operations", + string(admissionReview.Request.Operation), attribute.String("kind", admissionReview.Request.Kind.Kind), attribute.String("namespace", admissionReview.Request.Namespace), attribute.String("name", admissionReview.Request.Name), attribute.String("operation", string(admissionReview.Request.Operation)), attribute.String("uid", string(admissionReview.Request.UID)), - } - span := tracing.StartSpan(ctx, "admission_webhook_operations", string(admissionReview.Request.Operation), attributes) + ) defer span.End() writer.Header().Set("Content-Type", "application/json; charset=utf-8")