diff --git a/pkg/endpoints/metrics/metrics.go b/pkg/endpoints/metrics/metrics.go index 7dd40a373..445ef7358 100644 --- a/pkg/endpoints/metrics/metrics.go +++ b/pkg/endpoints/metrics/metrics.go @@ -531,7 +531,7 @@ func InstrumentHandlerFunc(verb, group, version, resource, subresource, scope, c // CleanScope returns the scope of the request. func CleanScope(requestInfo *request.RequestInfo) string { - if requestInfo.Name != "" { + if requestInfo.Name != "" || requestInfo.Verb == "create" { return "resource" } if requestInfo.Namespace != "" { diff --git a/pkg/endpoints/metrics/metrics_test.go b/pkg/endpoints/metrics/metrics_test.go index a1fa6ba95..b5b4e1247 100644 --- a/pkg/endpoints/metrics/metrics_test.go +++ b/pkg/endpoints/metrics/metrics_test.go @@ -166,6 +166,15 @@ func TestCleanScope(t *testing.T) { }, expectedScope: "resource", }, + { + name: "POST resource scope", + requestInfo: &request.RequestInfo{ + Verb: "create", + Namespace: "my-namespace", + IsResourceRequest: false, + }, + expectedScope: "resource", + }, { name: "namespace scope", requestInfo: &request.RequestInfo{