From cff15aed86242b94e3ff7818e2c01e85cfcc604e Mon Sep 17 00:00:00 2001 From: darshanime Date: Tue, 30 Jan 2024 07:47:22 +0530 Subject: [PATCH] Extract to separate method Signed-off-by: darshanime --- scrape/manager.go | 9 +++++++-- scrape/manager_test.go | 11 +++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/scrape/manager.go b/scrape/manager.go index cba026c1b2..ef15e647ad 100644 --- a/scrape/manager.go +++ b/scrape/manager.go @@ -207,14 +207,19 @@ func (m *Manager) reload() { m.mtxScrape.Unlock() wg.Wait() + m.warnIfTargetsRelabelledToSameLabels() +} + +func (m *Manager) warnIfTargetsRelabelledToSameLabels() { activeTargets := make(map[uint64]*Target) for _, scrapePool := range m.scrapePools { for _, target := range scrapePool.activeTargets { if t, ok := activeTargets[target.labels.Hash()]; ok { level.Warn(m.logger).Log( "msg", "Found targets with same labels after relabelling", - "target", t.DiscoveredLabels().Get(model.AddressLabel), - "target", target.DiscoveredLabels().Get(model.AddressLabel), + "target_one", t.DiscoveredLabels().Get(model.AddressLabel), + "target_two", target.DiscoveredLabels().Get(model.AddressLabel), + "labels", target.labels.String(), ) } activeTargets[target.labels.Hash()] = target diff --git a/scrape/manager_test.go b/scrape/manager_test.go index 7d5e63e008..47701bd1b6 100644 --- a/scrape/manager_test.go +++ b/scrape/manager_test.go @@ -638,14 +638,21 @@ func TestManagerDuplicateAfterRelabellingWarning(t *testing.T) { sp := &scrapePool{ activeTargets: map[uint64]*Target{}, } - sp.activeTargets[uint64(0)] = &Target{discoveredLabels: labels.FromStrings("__address__", "foo")} - sp.activeTargets[uint64(1)] = &Target{discoveredLabels: labels.FromStrings("__address__", "bar")} + sp.activeTargets[uint64(0)] = &Target{ + discoveredLabels: labels.FromStrings("__address__", "foo"), + labels: labels.FromStrings("label_key", "label_value"), + } + sp.activeTargets[uint64(1)] = &Target{ + discoveredLabels: labels.FromStrings("__address__", "bar"), + labels: labels.FromStrings("label_key", "label_value"), + } m.scrapePools["default"] = sp m.reload() require.Contains(t, output, "Found targets with same labels after relabelling") require.Contains(t, output, "foo") require.Contains(t, output, "bar") + require.Contains(t, output, `{label_key="label_value"}`) } func TestSetOffsetSeed(t *testing.T) {