From 52226c392fecb3fa98c1ea5f7f317349f6eca6b1 Mon Sep 17 00:00:00 2001 From: Zakhar Bessarab Date: Thu, 5 Jan 2023 14:39:31 +0400 Subject: [PATCH] lib/promscrape/targetstatus: fix crash during droppedTarget registration (#3595) * lib/promscrape/targetstatus: fix crash during droppedTarget registration in case original labels are not present Signed-off-by: Zakhar Bessarab * lib/promscrape/targetstatus: address review comment Signed-off-by: Zakhar Bessarab Signed-off-by: Zakhar Bessarab --- lib/promscrape/config.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/promscrape/config.go b/lib/promscrape/config.go index f28a14f526..34fef28844 100644 --- a/lib/promscrape/config.go +++ b/lib/promscrape/config.go @@ -1186,7 +1186,9 @@ func (swc *scrapeWorkConfig) getScrapeWork(target string, extraLabels, metaLabel } if labels.Len() == 0 { // Drop target without labels. - droppedTargetsMap.Register(originalLabels, swc.relabelConfigs) + if !*dropOriginalLabels { + droppedTargetsMap.Register(originalLabels, swc.relabelConfigs) + } return nil, nil } // See https://www.robustperception.io/life-of-a-label @@ -1201,7 +1203,9 @@ func (swc *scrapeWorkConfig) getScrapeWork(target string, extraLabels, metaLabel address := labels.Get("__address__") if len(address) == 0 { // Drop target without scrape address. - droppedTargetsMap.Register(originalLabels, swc.relabelConfigs) + if !*dropOriginalLabels { + droppedTargetsMap.Register(originalLabels, swc.relabelConfigs) + } return nil, nil } // Usability extension to Prometheus behavior: extract optional scheme and metricsPath from __address__.