From f468bee672b0ccf9b97a85f17ec1f5645aced926 Mon Sep 17 00:00:00 2001 From: Spencer Peterson Date: Thu, 9 Dec 2021 16:59:54 -0800 Subject: [PATCH] Document when workqueue metrics are dropped Two simple choices for workqueues do not document that they do not emit metrics. Using their named variants fixes this, but was undocumented. Change-Id: I100ad08a4859513987941ed35d12abb4cbb39873 --- staging/src/k8s.io/client-go/util/workqueue/delaying_queue.go | 4 +++- .../k8s.io/client-go/util/workqueue/rate_limiting_queue.go | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/client-go/util/workqueue/delaying_queue.go b/staging/src/k8s.io/client-go/util/workqueue/delaying_queue.go index 61c4da530c0..26eacc2ba77 100644 --- a/staging/src/k8s.io/client-go/util/workqueue/delaying_queue.go +++ b/staging/src/k8s.io/client-go/util/workqueue/delaying_queue.go @@ -33,7 +33,9 @@ type DelayingInterface interface { AddAfter(item interface{}, duration time.Duration) } -// NewDelayingQueue constructs a new workqueue with delayed queuing ability +// NewDelayingQueue constructs a new workqueue with delayed queuing ability. +// NewDelayingQueue does not emit metrics. For use with a MetricsProvider, please use +// NewNamedDelayingQueue instead. func NewDelayingQueue() DelayingInterface { return NewDelayingQueueWithCustomClock(clock.RealClock{}, "") } diff --git a/staging/src/k8s.io/client-go/util/workqueue/rate_limiting_queue.go b/staging/src/k8s.io/client-go/util/workqueue/rate_limiting_queue.go index 8321876acf4..267f4ff4084 100644 --- a/staging/src/k8s.io/client-go/util/workqueue/rate_limiting_queue.go +++ b/staging/src/k8s.io/client-go/util/workqueue/rate_limiting_queue.go @@ -34,6 +34,8 @@ type RateLimitingInterface interface { // NewRateLimitingQueue constructs a new workqueue with rateLimited queuing ability // Remember to call Forget! If you don't, you may end up tracking failures forever. +// NewRateLimitingQueue does not emit metrics. For use with a MetricsProvider, please use +// NewNamedRateLimitingQueue instead. func NewRateLimitingQueue(rateLimiter RateLimiter) RateLimitingInterface { return &rateLimitingType{ DelayingInterface: NewDelayingQueue(),