From 18c3b6fce43edd76620a07707af2d851b52c3fad Mon Sep 17 00:00:00 2001 From: Yao Cheng Date: Wed, 6 Sep 2023 17:25:12 +0000 Subject: [PATCH] Register metrics for apiserver handlers Signed-off-by: Yao Cheng --- .../pkg/endpoints/handlers/metrics/metrics.go | 11 +++++++++++ .../src/k8s.io/apiserver/pkg/server/routes/metrics.go | 2 ++ 2 files changed, 13 insertions(+) diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/metrics/metrics.go b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/metrics/metrics.go index 91a7999680d..57766924c19 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/metrics/metrics.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/metrics/metrics.go @@ -18,8 +18,10 @@ package metrics import ( "context" + "sync" "k8s.io/component-base/metrics" + "k8s.io/component-base/metrics/legacyregistry" ) type RequestBodyVerb string @@ -47,6 +49,15 @@ var ( ) ) +var registerMetrics sync.Once + +// Register all metrics. +func Register() { + registerMetrics.Do(func() { + legacyregistry.MustRegister(RequestBodySizes) + }) +} + func RecordRequestBodySize(ctx context.Context, resource string, verb RequestBodyVerb, size int) { RequestBodySizes.WithContext(ctx).WithLabelValues(resource, string(verb)).Observe(float64(size)) } diff --git a/staging/src/k8s.io/apiserver/pkg/server/routes/metrics.go b/staging/src/k8s.io/apiserver/pkg/server/routes/metrics.go index ad1eb2835ef..8fd4d559999 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/routes/metrics.go +++ b/staging/src/k8s.io/apiserver/pkg/server/routes/metrics.go @@ -17,6 +17,7 @@ limitations under the License. package routes import ( + handlersmetrics "k8s.io/apiserver/pkg/endpoints/handlers/metrics" apimetrics "k8s.io/apiserver/pkg/endpoints/metrics" "k8s.io/apiserver/pkg/server/mux" cachermetrics "k8s.io/apiserver/pkg/storage/cacher/metrics" @@ -52,4 +53,5 @@ func register() { etcd3metrics.Register() flowcontrolmetrics.Register() peerproxymetrics.Register() + handlersmetrics.Register() }