From 3e44d9947e2319cfc9b6c399c9025519aba5a47c Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Sun, 28 Feb 2021 17:05:28 +0200 Subject: [PATCH] lib/promscrape/discovery/kubernetes: properly account the number of objects when watcher is stopped A follow-up for b21b110b7a61901c5b19b45895e1a69fc2daf65d --- lib/promscrape/discovery/kubernetes/api.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/promscrape/discovery/kubernetes/api.go b/lib/promscrape/discovery/kubernetes/api.go index caf97f0bf7..8a384f4d9a 100644 --- a/lib/promscrape/discovery/kubernetes/api.go +++ b/lib/promscrape/discovery/kubernetes/api.go @@ -232,6 +232,11 @@ func (aw *apiWatcher) startWatcherForURL(role, apiURL string, parseObject parseO resourceVersion := uw.reloadObjects() go func() { uw.watchForUpdates(resourceVersion) + uw.mu.Lock() + uw.objectsCount.Add(-len(uw.objectsByKey)) + uw.objectsRemoved.Add(len(uw.objectsByKey)) + uw.mu.Unlock() + aw.mu.Lock() delete(aw.watchersByURL, apiURL) aw.mu.Unlock()