From 58e4fae1daafd88dbcc5bd38601397f13d391744 Mon Sep 17 00:00:00 2001 From: yuanhuaiwang Date: Wed, 2 Dec 2020 16:19:20 +0800 Subject: [PATCH] improve watchCache metrics --- .../k8s.io/apiserver/pkg/storage/cacher/metrics.go | 11 +++++++++++ .../apiserver/pkg/storage/cacher/watch_cache.go | 2 ++ 2 files changed, 13 insertions(+) diff --git a/staging/src/k8s.io/apiserver/pkg/storage/cacher/metrics.go b/staging/src/k8s.io/apiserver/pkg/storage/cacher/metrics.go index 19cd5da6af4..7f364cd74df 100644 --- a/staging/src/k8s.io/apiserver/pkg/storage/cacher/metrics.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/cacher/metrics.go @@ -56,12 +56,22 @@ var ( }, []string{"resource"}, ) + + watchCacheCapacity = metrics.NewGaugeVec( + &metrics.GaugeOpts{ + Name: "watch_cache_capacity", + Help: "Total capacity of watch cache broken by resource type.", + StabilityLevel: metrics.ALPHA, + }, + []string{"resource"}, + ) ) func init() { legacyregistry.MustRegister(initCounter) legacyregistry.MustRegister(watchCacheCapacityIncreaseTotal) legacyregistry.MustRegister(watchCacheCapacityDecreaseTotal) + legacyregistry.MustRegister(watchCacheCapacity) } // recordsWatchCacheCapacityChange record watchCache capacity resize(increase or decrease) operations. @@ -71,4 +81,5 @@ func recordsWatchCacheCapacityChange(objType string, old, new int) { return } watchCacheCapacityDecreaseTotal.WithLabelValues(objType).Inc() + watchCacheCapacity.WithLabelValues(objType).Set(float64(new)) } diff --git a/staging/src/k8s.io/apiserver/pkg/storage/cacher/watch_cache.go b/staging/src/k8s.io/apiserver/pkg/storage/cacher/watch_cache.go index 1e91733e143..8f97b36c936 100644 --- a/staging/src/k8s.io/apiserver/pkg/storage/cacher/watch_cache.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/cacher/watch_cache.go @@ -216,6 +216,8 @@ func newWatchCache( versioner: versioner, objectType: objectType, } + objType := objectType.String() + watchCacheCapacity.WithLabelValues(objType).Set(float64(wc.capacity)) wc.cond = sync.NewCond(wc.RLocker()) return wc }