mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-09 23:24:05 -08:00
storage/remote: in tests use labels.FromStrings
And a few cases of `EmptyLabels()`. Replacing code which assumes the internal structure of `Labels`. Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
This commit is contained in:
parent
14780c3b4e
commit
3029320ce6
|
@ -173,12 +173,9 @@ func TestConcreteSeriesSet(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestConcreteSeriesClonesLabels(t *testing.T) {
|
||||
lbls := labels.Labels{
|
||||
labels.Label{Name: "a", Value: "b"},
|
||||
labels.Label{Name: "c", Value: "d"},
|
||||
}
|
||||
lbls := labels.FromStrings("a", "b", "c", "d")
|
||||
cs := concreteSeries{
|
||||
labels: labels.New(lbls...),
|
||||
labels: lbls,
|
||||
}
|
||||
|
||||
gotLabels := cs.Labels()
|
||||
|
|
|
@ -149,7 +149,7 @@ func TestMetadataDelivery(t *testing.T) {
|
|||
mcfg := config.DefaultMetadataConfig
|
||||
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.Start()
|
||||
defer m.Stop()
|
||||
|
||||
|
@ -188,7 +188,7 @@ func TestSampleDeliveryTimeout(t *testing.T) {
|
|||
dir := t.TempDir()
|
||||
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.StoreSeries(series, 0)
|
||||
m.Start()
|
||||
defer m.Stop()
|
||||
|
@ -217,7 +217,7 @@ func TestSampleDeliveryOrder(t *testing.T) {
|
|||
})
|
||||
series = append(series, record.RefSeries{
|
||||
Ref: chunks.HeadSeriesRef(i),
|
||||
Labels: labels.Labels{labels.Label{Name: "__name__", Value: name}},
|
||||
Labels: labels.FromStrings("__name__", name),
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -230,7 +230,7 @@ func TestSampleDeliveryOrder(t *testing.T) {
|
|||
mcfg := config.DefaultMetadataConfig
|
||||
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.StoreSeries(series, 0)
|
||||
|
||||
m.Start()
|
||||
|
@ -250,7 +250,7 @@ func TestShutdown(t *testing.T) {
|
|||
mcfg := config.DefaultMetadataConfig
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, deadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, deadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
n := 2 * config.DefaultQueueConfig.MaxSamplesPerSend
|
||||
samples, series := createTimeseries(n, n)
|
||||
m.StoreSeries(series, 0)
|
||||
|
@ -288,11 +288,11 @@ func TestSeriesReset(t *testing.T) {
|
|||
cfg := config.DefaultQueueConfig
|
||||
mcfg := config.DefaultMetadataConfig
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, deadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, deadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
for i := 0; i < numSegments; i++ {
|
||||
series := []record.RefSeries{}
|
||||
for j := 0; j < numSeries; j++ {
|
||||
series = append(series, record.RefSeries{Ref: chunks.HeadSeriesRef((i * 100) + j), Labels: labels.Labels{{Name: "a", Value: "a"}}})
|
||||
series = append(series, record.RefSeries{Ref: chunks.HeadSeriesRef((i * 100) + j), Labels: labels.FromStrings("a", "a")})
|
||||
}
|
||||
m.StoreSeries(series, i)
|
||||
}
|
||||
|
@ -317,7 +317,7 @@ func TestReshard(t *testing.T) {
|
|||
dir := t.TempDir()
|
||||
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.StoreSeries(series, 0)
|
||||
|
||||
m.Start()
|
||||
|
@ -353,7 +353,7 @@ func TestReshardRaceWithStop(t *testing.T) {
|
|||
go func() {
|
||||
for {
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
m = NewQueueManager(metrics, nil, nil, nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m = NewQueueManager(metrics, nil, nil, nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.Start()
|
||||
h.Unlock()
|
||||
h.Lock()
|
||||
|
@ -388,7 +388,7 @@ func TestReshardPartialBatch(t *testing.T) {
|
|||
cfg.BatchSendDeadline = model.Duration(batchSendDeadline)
|
||||
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
m := NewQueueManager(metrics, nil, nil, nil, t.TempDir(), newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, flushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, t.TempDir(), newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, flushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.StoreSeries(series, 0)
|
||||
|
||||
m.Start()
|
||||
|
@ -433,7 +433,7 @@ func TestQueueFilledDeadlock(t *testing.T) {
|
|||
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
|
||||
m := NewQueueManager(metrics, nil, nil, nil, t.TempDir(), newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, flushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, t.TempDir(), newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, flushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.StoreSeries(series, 0)
|
||||
m.Start()
|
||||
defer m.Stop()
|
||||
|
@ -460,7 +460,7 @@ func TestReleaseNoninternedString(t *testing.T) {
|
|||
mcfg := config.DefaultMetadataConfig
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
c := NewTestWriteClient()
|
||||
m := NewQueueManager(metrics, nil, nil, nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.Start()
|
||||
defer m.Stop()
|
||||
|
||||
|
@ -468,12 +468,7 @@ func TestReleaseNoninternedString(t *testing.T) {
|
|||
m.StoreSeries([]record.RefSeries{
|
||||
{
|
||||
Ref: chunks.HeadSeriesRef(i),
|
||||
Labels: labels.Labels{
|
||||
labels.Label{
|
||||
Name: "asdf",
|
||||
Value: fmt.Sprintf("%d", i),
|
||||
},
|
||||
},
|
||||
Labels: labels.FromStrings("asdf", fmt.Sprintf("%d", i)),
|
||||
},
|
||||
}, 0)
|
||||
m.SeriesReset(1)
|
||||
|
@ -512,7 +507,7 @@ func TestShouldReshard(t *testing.T) {
|
|||
for _, c := range cases {
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
client := NewTestWriteClient()
|
||||
m := NewQueueManager(metrics, nil, nil, nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, client, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, client, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.numShards = c.startingShards
|
||||
m.dataIn.incr(c.samplesIn)
|
||||
m.dataOut.incr(c.samplesOut)
|
||||
|
@ -565,19 +560,14 @@ func createExemplars(numExemplars, numSeries int) ([]record.RefExemplar, []recor
|
|||
}
|
||||
series = append(series, record.RefSeries{
|
||||
Ref: chunks.HeadSeriesRef(i),
|
||||
Labels: labels.Labels{{Name: "__name__", Value: name}},
|
||||
Labels: labels.FromStrings("__name__", name),
|
||||
})
|
||||
}
|
||||
return exemplars, series
|
||||
}
|
||||
|
||||
func getSeriesNameFromRef(r record.RefSeries) string {
|
||||
for _, l := range r.Labels {
|
||||
if l.Name == "__name__" {
|
||||
return l.Value
|
||||
}
|
||||
}
|
||||
return ""
|
||||
return r.Labels.Get("__name__")
|
||||
}
|
||||
|
||||
type TestWriteClient struct {
|
||||
|
@ -679,13 +669,8 @@ func (c *TestWriteClient) Store(_ context.Context, req []byte) error {
|
|||
|
||||
count := 0
|
||||
for _, ts := range reqProto.Timeseries {
|
||||
var seriesName string
|
||||
labels := labelProtosToLabels(ts.Labels)
|
||||
for _, label := range labels {
|
||||
if label.Name == "__name__" {
|
||||
seriesName = label.Value
|
||||
}
|
||||
}
|
||||
seriesName := labels.Get("__name__")
|
||||
for _, sample := range ts.Samples {
|
||||
count++
|
||||
c.receivedSamples[seriesName] = append(c.receivedSamples[seriesName], sample)
|
||||
|
@ -791,7 +776,7 @@ func BenchmarkSampleSend(b *testing.B) {
|
|||
dir := b.TempDir()
|
||||
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, nil, nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), cfg, mcfg, labels.EmptyLabels(), nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.StoreSeries(series, 0)
|
||||
|
||||
// These should be received by the client.
|
||||
|
@ -837,7 +822,7 @@ func BenchmarkStartup(b *testing.B) {
|
|||
c := NewTestBlockedWriteClient()
|
||||
m := NewQueueManager(metrics, nil, nil, logger, dir,
|
||||
newEWMARate(ewmaWeight, shardUpdateDuration),
|
||||
cfg, mcfg, nil, nil, c, 1*time.Minute, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
cfg, mcfg, labels.EmptyLabels(), nil, c, 1*time.Minute, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m.watcher.SetStartTime(timestamp.Time(math.MaxInt64))
|
||||
m.watcher.MaxSegment = segments[len(segments)-2]
|
||||
err := m.watcher.Run()
|
||||
|
@ -913,7 +898,7 @@ func TestCalculateDesiredShards(t *testing.T) {
|
|||
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
samplesIn := newEWMARate(ewmaWeight, shardUpdateDuration)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, samplesIn, cfg, mcfg, nil, nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, samplesIn, cfg, mcfg, labels.EmptyLabels(), nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
|
||||
// Need to start the queue manager so the proper metrics are initialized.
|
||||
// However we can stop it right away since we don't need to do any actual
|
||||
|
@ -990,7 +975,7 @@ func TestCalculateDesiredShardsDetail(t *testing.T) {
|
|||
|
||||
metrics := newQueueManagerMetrics(nil, "", "")
|
||||
samplesIn := newEWMARate(ewmaWeight, shardUpdateDuration)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, samplesIn, cfg, mcfg, nil, nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
m := NewQueueManager(metrics, nil, nil, nil, dir, samplesIn, cfg, mcfg, labels.EmptyLabels(), nil, c, defaultFlushDeadline, newPool(), newHighestTimestampMetric(), nil, false)
|
||||
|
||||
for _, tc := range []struct {
|
||||
name string
|
||||
|
|
|
@ -46,12 +46,8 @@ func TestSampledReadEndpoint(t *testing.T) {
|
|||
h := NewReadHandler(nil, nil, suite.Storage(), func() config.Config {
|
||||
return config.Config{
|
||||
GlobalConfig: config.GlobalConfig{
|
||||
ExternalLabels: labels.Labels{
|
||||
// We expect external labels to be added, with the source labels honored.
|
||||
{Name: "b", Value: "c"},
|
||||
{Name: "baz", Value: "a"},
|
||||
{Name: "d", Value: "e"},
|
||||
},
|
||||
ExternalLabels: labels.FromStrings("b", "c", "baz", "a", "d", "e"),
|
||||
},
|
||||
}
|
||||
}, 1e6, 1, 0)
|
||||
|
@ -130,12 +126,8 @@ func TestStreamReadEndpoint(t *testing.T) {
|
|||
api := NewReadHandler(nil, nil, suite.Storage(), func() config.Config {
|
||||
return config.Config{
|
||||
GlobalConfig: config.GlobalConfig{
|
||||
ExternalLabels: labels.Labels{
|
||||
// We expect external labels to be added, with the source labels honored.
|
||||
{Name: "baz", Value: "a"},
|
||||
{Name: "b", Value: "c"},
|
||||
{Name: "d", Value: "e"},
|
||||
},
|
||||
ExternalLabels: labels.FromStrings("baz", "a", "b", "c", "d", "e"),
|
||||
},
|
||||
}
|
||||
},
|
||||
|
|
|
@ -122,10 +122,7 @@ func TestExternalLabelsQuerierAddExternalLabels(t *testing.T) {
|
|||
added: labels.Labels{},
|
||||
},
|
||||
{
|
||||
el: labels.Labels{
|
||||
{Name: "dc", Value: "berlin-01"},
|
||||
{Name: "region", Value: "europe"},
|
||||
},
|
||||
el: labels.FromStrings("dc", "berlin-01", "region", "europe"),
|
||||
inMatchers: []*labels.Matcher{
|
||||
labels.MustNewMatcher(labels.MatchEqual, "job", "api-server"),
|
||||
},
|
||||
|
@ -134,16 +131,10 @@ func TestExternalLabelsQuerierAddExternalLabels(t *testing.T) {
|
|||
labels.MustNewMatcher(labels.MatchEqual, "region", "europe"),
|
||||
labels.MustNewMatcher(labels.MatchEqual, "dc", "berlin-01"),
|
||||
},
|
||||
added: labels.Labels{
|
||||
{Name: "dc", Value: "berlin-01"},
|
||||
{Name: "region", Value: "europe"},
|
||||
},
|
||||
added: labels.FromStrings("dc", "berlin-01", "region", "europe"),
|
||||
},
|
||||
{
|
||||
el: labels.Labels{
|
||||
{Name: "dc", Value: "berlin-01"},
|
||||
{Name: "region", Value: "europe"},
|
||||
},
|
||||
el: labels.FromStrings("dc", "berlin-01", "region", "europe"),
|
||||
inMatchers: []*labels.Matcher{
|
||||
labels.MustNewMatcher(labels.MatchEqual, "job", "api-server"),
|
||||
labels.MustNewMatcher(labels.MatchEqual, "dc", "munich-02"),
|
||||
|
@ -153,9 +144,7 @@ func TestExternalLabelsQuerierAddExternalLabels(t *testing.T) {
|
|||
labels.MustNewMatcher(labels.MatchEqual, "region", "europe"),
|
||||
labels.MustNewMatcher(labels.MatchEqual, "dc", "munich-02"),
|
||||
},
|
||||
added: labels.Labels{
|
||||
{Name: "region", Value: "europe"},
|
||||
},
|
||||
added: labels.FromStrings("region", "europe"),
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -294,9 +283,7 @@ func TestSampleAndChunkQueryableClient(t *testing.T) {
|
|||
labels.MustNewMatcher(labels.MatchNotEqual, "a", "something"),
|
||||
},
|
||||
readRecent: true,
|
||||
externalLabels: labels.Labels{
|
||||
{Name: "region", Value: "europe"},
|
||||
},
|
||||
externalLabels: labels.FromStrings("region", "europe"),
|
||||
|
||||
expectedQuery: &prompb.Query{
|
||||
StartTimestampMs: 1,
|
||||
|
@ -319,9 +306,7 @@ func TestSampleAndChunkQueryableClient(t *testing.T) {
|
|||
labels.MustNewMatcher(labels.MatchEqual, "region", "europe"),
|
||||
},
|
||||
readRecent: true,
|
||||
externalLabels: labels.Labels{
|
||||
{Name: "region", Value: "europe"},
|
||||
},
|
||||
externalLabels: labels.FromStrings("region", "europe"),
|
||||
|
||||
expectedQuery: &prompb.Query{
|
||||
StartTimestampMs: 1,
|
||||
|
@ -344,9 +329,7 @@ func TestSampleAndChunkQueryableClient(t *testing.T) {
|
|||
labels.MustNewMatcher(labels.MatchEqual, "region", "us"),
|
||||
},
|
||||
readRecent: true,
|
||||
externalLabels: labels.Labels{
|
||||
{Name: "region", Value: "europe"},
|
||||
},
|
||||
externalLabels: labels.FromStrings("region", "europe"),
|
||||
|
||||
expectedQuery: &prompb.Query{
|
||||
StartTimestampMs: 1,
|
||||
|
|
|
@ -120,7 +120,7 @@ func (s *Storage) ApplyConfig(conf *config.Config) error {
|
|||
|
||||
externalLabels := conf.GlobalConfig.ExternalLabels
|
||||
if !rrConf.FilterExternalLabels {
|
||||
externalLabels = make(labels.Labels, 0)
|
||||
externalLabels = labels.EmptyLabels()
|
||||
}
|
||||
queryables = append(queryables, NewSampleAndChunkQueryableClient(
|
||||
c,
|
||||
|
|
|
@ -79,7 +79,7 @@ func TestFilterExternalLabels(t *testing.T) {
|
|||
|
||||
conf := &config.Config{
|
||||
GlobalConfig: config.GlobalConfig{
|
||||
ExternalLabels: labels.Labels{labels.Label{Name: "foo", Value: "bar"}},
|
||||
ExternalLabels: labels.FromStrings("foo", "bar"),
|
||||
},
|
||||
}
|
||||
require.NoError(t, s.ApplyConfig(conf))
|
||||
|
@ -104,7 +104,7 @@ func TestIgnoreExternalLabels(t *testing.T) {
|
|||
|
||||
conf := &config.Config{
|
||||
GlobalConfig: config.GlobalConfig{
|
||||
ExternalLabels: labels.Labels{labels.Label{Name: "foo", Value: "bar"}},
|
||||
ExternalLabels: labels.FromStrings("foo", "bar"),
|
||||
},
|
||||
}
|
||||
require.NoError(t, s.ApplyConfig(conf))
|
||||
|
|
Loading…
Reference in a new issue