diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/filters/traces.go b/staging/src/k8s.io/apiserver/pkg/endpoints/filters/traces.go index b56dda2f87b..5a06d34f5b3 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/filters/traces.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/filters/traces.go @@ -39,7 +39,7 @@ func WithTracing(handler http.Handler, tp trace.TracerProvider) http.Handler { if !exist { return "KubernetesAPI" } - return getSpanNameFromRequestInfo(info) + return getSpanNameFromRequestInfo(info, r) }), } wrappedHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { @@ -55,9 +55,9 @@ func WithTracing(handler http.Handler, tp trace.TracerProvider) http.Handler { return otelhttp.NewHandler(wrappedHandler, "KubernetesAPI", opts...) } -func getSpanNameFromRequestInfo(info *request.RequestInfo) string { +func getSpanNameFromRequestInfo(info *request.RequestInfo, r *http.Request) string { if !info.IsResourceRequest { - return info.Path + return r.Method + " " + info.Path } spanName := "/" + info.APIPrefix @@ -75,5 +75,5 @@ func getSpanNameFromRequestInfo(info *request.RequestInfo) string { if info.Subresource != "" { spanName += "/" + info.Subresource } - return spanName + return r.Method + " " + spanName } diff --git a/test/integration/apiserver/tracing/tracing_test.go b/test/integration/apiserver/tracing/tracing_test.go index f7bca4798a8..60b49c7ed15 100644 --- a/test/integration/apiserver/tracing/tracing_test.go +++ b/test/integration/apiserver/tracing/tracing_test.go @@ -309,7 +309,7 @@ endpoint: %s`, listener.Addr().String())), os.FileMode(0755)); err != nil { }, expectedTrace: []*spanExpectation{ { - name: "/api/v1/nodes", + name: "POST /api/v1/nodes", attributes: map[string]func(*commonv1.AnyValue) bool{ "http.user_agent": func(v *commonv1.AnyValue) bool { return strings.HasPrefix(v.GetStringValue(), "tracing.test") @@ -428,7 +428,7 @@ endpoint: %s`, listener.Addr().String())), os.FileMode(0755)); err != nil { }, expectedTrace: []*spanExpectation{ { - name: "/api/v1/nodes/{:name}", + name: "GET /api/v1/nodes/{:name}", attributes: map[string]func(*commonv1.AnyValue) bool{ "http.user_agent": func(v *commonv1.AnyValue) bool { return strings.HasPrefix(v.GetStringValue(), "tracing.test") @@ -518,7 +518,7 @@ endpoint: %s`, listener.Addr().String())), os.FileMode(0755)); err != nil { }, expectedTrace: []*spanExpectation{ { - name: "/api/v1/nodes", + name: "GET /api/v1/nodes", attributes: map[string]func(*commonv1.AnyValue) bool{ "http.user_agent": func(v *commonv1.AnyValue) bool { return strings.HasPrefix(v.GetStringValue(), "tracing.test") @@ -636,7 +636,7 @@ endpoint: %s`, listener.Addr().String())), os.FileMode(0755)); err != nil { }, expectedTrace: []*spanExpectation{ { - name: "/api/v1/nodes/{:name}", + name: "PUT /api/v1/nodes/{:name}", attributes: map[string]func(*commonv1.AnyValue) bool{ "http.user_agent": func(v *commonv1.AnyValue) bool { return strings.HasPrefix(v.GetStringValue(), "tracing.test") @@ -780,7 +780,7 @@ endpoint: %s`, listener.Addr().String())), os.FileMode(0755)); err != nil { }, expectedTrace: []*spanExpectation{ { - name: "/api/v1/nodes/{:name}", + name: "PATCH /api/v1/nodes/{:name}", attributes: map[string]func(*commonv1.AnyValue) bool{ "http.user_agent": func(v *commonv1.AnyValue) bool { return strings.HasPrefix(v.GetStringValue(), "tracing.test") @@ -901,7 +901,7 @@ endpoint: %s`, listener.Addr().String())), os.FileMode(0755)); err != nil { }, expectedTrace: []*spanExpectation{ { - name: "/api/v1/nodes/{:name}", + name: "DELETE /api/v1/nodes/{:name}", attributes: map[string]func(*commonv1.AnyValue) bool{ "http.user_agent": func(v *commonv1.AnyValue) bool { return strings.HasPrefix(v.GetStringValue(), "tracing.test")