Skip to content

Commit b862590

Browse files
authored
Merge pull request kubernetes#73847 from wojtek-t/watch_metric
Add metric exposing amount of processed init events in watchcache
2 parents a1cc48b + 0a0835e commit b862590

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

staging/src/k8s.io/apiserver/pkg/storage/cacher/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ go_library(
2727
"//staging/src/k8s.io/apiserver/pkg/storage:go_default_library",
2828
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
2929
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
30+
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
3031
"//vendor/k8s.io/klog:go_default_library",
3132
"//vendor/k8s.io/utils/trace:go_default_library",
3233
],

staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,24 @@ import (
4141
utilfeature "k8s.io/apiserver/pkg/util/feature"
4242
"k8s.io/client-go/tools/cache"
4343
utiltrace "k8s.io/utils/trace"
44+
45+
"github.com/prometheus/client_golang/prometheus"
46+
)
47+
48+
var (
49+
initCounter = prometheus.NewCounterVec(
50+
prometheus.CounterOpts{
51+
Name: "apiserver_init_events_total",
52+
Help: "Counter of init events processed in watchcache broken by resource type",
53+
},
54+
[]string{"resource"},
55+
)
4456
)
4557

58+
func init() {
59+
prometheus.MustRegister(initCounter)
60+
}
61+
4662
// Config contains the configuration for a given Cache.
4763
type Config struct {
4864
// Maximum size of the history cached in memory.
@@ -951,6 +967,10 @@ func (c *cacheWatcher) process(initEvents []*watchCacheEvent, resourceVersion ui
951967
for _, event := range initEvents {
952968
c.sendWatchCacheEvent(event)
953969
}
970+
if len(initEvents) > 0 {
971+
objType := reflect.TypeOf(initEvents[0].Object).String()
972+
initCounter.WithLabelValues(objType).Add(float64(len(initEvents)))
973+
}
954974
processingTime := time.Since(startTime)
955975
if processingTime > initProcessThreshold {
956976
objType := "<null>"

test/e2e/framework/metrics_util.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -140,12 +140,7 @@ var InterestingApiServerMetrics = []string{
140140
// TODO(krzysied): apiserver_request_latencies_summary is a deprecated metric.
141141
// It should be replaced with new metric.
142142
"apiserver_request_latencies_summary",
143-
"etcd_helper_cache_entry_total",
144-
"etcd_helper_cache_hit_total",
145-
"etcd_helper_cache_miss_total",
146-
"etcd_request_cache_add_latency_seconds",
147-
"etcd_request_cache_get_latency_seconds",
148-
"etcd_request_latency_seconds",
143+
"apiserver_init_events_total",
149144
}
150145

151146
var InterestingControllerManagerMetrics = []string{

0 commit comments

Comments
 (0)