mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Add test for same label set in targets
Signed-off-by: darshanime <deathbullet@gmail.com>
This commit is contained in:
parent
ad69899407
commit
49e6bdade5
|
@ -213,14 +213,13 @@ func (m *Manager) reload() {
|
|||
if t, ok := activeTargets[target.labels.Hash()]; ok {
|
||||
level.Warn(m.logger).Log(
|
||||
"msg", "Found targets with same labels after relabelling",
|
||||
"target", t.URL().String(),
|
||||
"target", target.URL().String(),
|
||||
"target", t.DiscoveredLabels().Get(model.AddressLabel),
|
||||
"target", target.DiscoveredLabels().Get(model.AddressLabel),
|
||||
)
|
||||
}
|
||||
activeTargets[target.labels.Hash()] = target
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// setOffsetSeed calculates a global offsetSeed per server relying on extra label set.
|
||||
|
|
|
@ -622,6 +622,32 @@ func TestManagerTargetsUpdates(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestManagerDuplicateAfterRelabellingWarning(t *testing.T) {
|
||||
var output []interface{}
|
||||
logger := log.Logger(log.LoggerFunc(func(keyvals ...interface{}) error {
|
||||
output = keyvals
|
||||
return nil
|
||||
}))
|
||||
|
||||
opts := Options{}
|
||||
testRegistry := prometheus.NewRegistry()
|
||||
m, err := NewManager(&opts, logger, nil, testRegistry)
|
||||
require.NoError(t, err)
|
||||
|
||||
m.scrapePools = map[string]*scrapePool{}
|
||||
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")}
|
||||
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")
|
||||
}
|
||||
|
||||
func TestSetOffsetSeed(t *testing.T) {
|
||||
getConfig := func(prometheus string) *config.Config {
|
||||
cfgText := `
|
||||
|
|
Loading…
Reference in a new issue