mirror of
https://github.com/prometheus/prometheus.git
synced 2026-05-05 04:16:15 +02:00
Merge pull request #17807 from bboreham/fix-scrape-relabel-drop
Release 3.9: Fix scrape relabel not dropping series
This commit is contained in:
commit
4caa4c0914
@ -716,7 +716,9 @@ func mutateSampleLabels(lset labels.Labels, target *Target, honor bool, rc []*re
|
||||
}
|
||||
}
|
||||
|
||||
relabel.ProcessBuilder(lb, rc...)
|
||||
if keep := relabel.ProcessBuilder(lb, rc...); !keep {
|
||||
return labels.EmptyLabels()
|
||||
}
|
||||
|
||||
return lb.Labels()
|
||||
}
|
||||
|
||||
@ -5982,3 +5982,47 @@ func TestScrapeLoopDisableStalenessMarkerInjection(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestDropsSeriesFromRelabeling(t *testing.T) {
|
||||
s := teststorage.New(t)
|
||||
defer s.Close()
|
||||
ctx := t.Context()
|
||||
|
||||
target := &Target{}
|
||||
relabelConfig := []*relabel.Config{
|
||||
{
|
||||
SourceLabels: model.LabelNames{"__name__"},
|
||||
Regex: relabel.MustNewRegexp(".*_total$"),
|
||||
Action: relabel.Keep,
|
||||
},
|
||||
{
|
||||
SourceLabels: model.LabelNames{"__name__"},
|
||||
Regex: relabel.MustNewRegexp("test_metric_2_total$"),
|
||||
Action: relabel.Drop,
|
||||
},
|
||||
}
|
||||
metricsText := []byte(`
|
||||
# HELP test_metric_1_total This is a counter
|
||||
# TYPE test_metric_1_total counter
|
||||
test_metric_1_total 123
|
||||
# HELP test_metric_2_total This is a counter
|
||||
# TYPE test_metric_2_total counter
|
||||
test_metric_2_total 234
|
||||
# HELP disk_usage_bytes This is a gauge
|
||||
# TYPE disk_usage_bytes gauge
|
||||
disk_usage_bytes 456
|
||||
`)
|
||||
|
||||
sl := newBasicScrapeLoop(t, ctx, &testScraper{}, s.Appender, 0)
|
||||
sl.sampleMutator = func(l labels.Labels) labels.Labels {
|
||||
return mutateSampleLabels(l, target, true, relabelConfig)
|
||||
}
|
||||
|
||||
slApp := sl.appender(ctx)
|
||||
total, added, seriesAdded, err := sl.append(slApp, metricsText, "text/plain", time.Time{})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, slApp.Rollback())
|
||||
require.Equal(t, 3, total)
|
||||
require.Equal(t, 1, added)
|
||||
require.Equal(t, 1, seriesAdded)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user