diff --git a/go.mod b/go.mod index 73b16289f..26425b28c 100644 --- a/go.mod +++ b/go.mod @@ -43,9 +43,9 @@ require ( gopkg.in/natefinch/lumberjack.v2 v2.0.0 gopkg.in/square/go-jose.v2 v2.2.2 k8s.io/api v0.0.0-20221223233726-92fe7a3ca2f4 - k8s.io/apimachinery v0.0.0-20221223015414-47a8bb64c845 + k8s.io/apimachinery v0.0.0-20230104022610-6c409361e35e k8s.io/client-go v0.0.0-20230102172837-3e0d99053357 - k8s.io/component-base v0.0.0-20221223033131-522c0db97a9d + k8s.io/component-base v0.0.0-20230103213415-cd0561133b79 k8s.io/klog/v2 v2.80.1 k8s.io/kms v0.0.0-20221223035546-6bcec3321a14 k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 @@ -123,8 +123,8 @@ require ( replace ( k8s.io/api => k8s.io/api v0.0.0-20221223233726-92fe7a3ca2f4 - k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20221223015414-47a8bb64c845 + k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20230104022610-6c409361e35e k8s.io/client-go => k8s.io/client-go v0.0.0-20230102172837-3e0d99053357 - k8s.io/component-base => k8s.io/component-base v0.0.0-20221223033131-522c0db97a9d + k8s.io/component-base => k8s.io/component-base v0.0.0-20230103213415-cd0561133b79 k8s.io/kms => k8s.io/kms v0.0.0-20221223035546-6bcec3321a14 ) diff --git a/go.sum b/go.sum index 65d3d245c..fdfbdf02d 100644 --- a/go.sum +++ b/go.sum @@ -990,12 +990,12 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.0.0-20221223233726-92fe7a3ca2f4 h1:xXF6vJObhLxxs90hdEZENpbta24zuE/s8CGGRcIn384= k8s.io/api v0.0.0-20221223233726-92fe7a3ca2f4/go.mod h1:7VeiiNXwWDDV/gC/WTZA9plPSLqAQnOrZaAyXJsAudE= -k8s.io/apimachinery v0.0.0-20221223015414-47a8bb64c845 h1:vqU5mNvTR9zJZf7TEu4XhpgRInUeLe6ARyN9kD2RVck= -k8s.io/apimachinery v0.0.0-20221223015414-47a8bb64c845/go.mod h1:E7c0pLSvNLZyzn9NBKnVO5+N8E8J25dNmB4m9TyuirA= +k8s.io/apimachinery v0.0.0-20230104022610-6c409361e35e h1:eJYyIfU4uOvJsSbI8fQkqQa+udeFbJDBUjw0I2F30k0= +k8s.io/apimachinery v0.0.0-20230104022610-6c409361e35e/go.mod h1:E7c0pLSvNLZyzn9NBKnVO5+N8E8J25dNmB4m9TyuirA= k8s.io/client-go v0.0.0-20230102172837-3e0d99053357 h1:byPV8fJpLa21Z1uyJGe17H5O3wIuXaLz9n+XVEx1Ai0= k8s.io/client-go v0.0.0-20230102172837-3e0d99053357/go.mod h1:JYb/VVqQBLq2no4OmdLAj0HmkVMEdilejF0TWZDvpZQ= -k8s.io/component-base v0.0.0-20221223033131-522c0db97a9d h1:qEr7nhvQVZ8HcE6Am5aHFXAz+2TdCSqHHVC6no/AhK0= -k8s.io/component-base v0.0.0-20221223033131-522c0db97a9d/go.mod h1:TMuaLx8PNaRXbniuPjDEClqiwnmhH93MltUpk9G4S2Q= +k8s.io/component-base v0.0.0-20230103213415-cd0561133b79 h1:pWkWAgTCTFU/YcBNwBGW1oaGD8bkKTU2kkbaKqpMFHk= +k8s.io/component-base v0.0.0-20230103213415-cd0561133b79/go.mod h1:rBPtTKjMeZAQEcVDJBABh8tf4t2YgDVnI08QSLF1j/A= k8s.io/klog/v2 v2.80.1 h1:atnLQ121W371wYYFawwYx1aEY2eUfs4l3J72wtgAwV4= k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kms v0.0.0-20221223035546-6bcec3321a14 h1:BLaDgiUPi2P78tmi0RHv7buWRPokavOk5jBcuUWC3s4= diff --git a/pkg/endpoints/metrics/metrics.go b/pkg/endpoints/metrics/metrics.go index a3824dedb..4c2abfaed 100644 --- a/pkg/endpoints/metrics/metrics.go +++ b/pkg/endpoints/metrics/metrics.go @@ -516,11 +516,15 @@ func RecordLongRunning(req *http.Request, requestInfo *request.RequestInfo, comp // MonitorRequest handles standard transformations for client and the reported verb and then invokes Monitor to record // a request. verb must be uppercase to be backwards compatible with existing monitoring tooling. func MonitorRequest(req *http.Request, verb, group, version, resource, subresource, scope, component string, deprecated bool, removedRelease string, httpCode, respSize int, elapsed time.Duration) { + requestInfo, ok := request.RequestInfoFrom(req.Context()) + if !ok || requestInfo == nil { + requestInfo = &request.RequestInfo{Verb: req.Method, Path: req.URL.Path} + } // We don't use verb from , as this may be propagated from // InstrumentRouteFunc which is registered in installer.go with predefined // list of verbs (different than those translated to RequestInfo). // However, we need to tweak it e.g. to differentiate GET from LIST. - reportedVerb := cleanVerb(CanonicalVerb(strings.ToUpper(req.Method), scope), verb, req, nil) + reportedVerb := cleanVerb(CanonicalVerb(strings.ToUpper(req.Method), scope), verb, req, requestInfo) dryRun := cleanDryRun(req.URL) elapsedSeconds := elapsed.Seconds()