Skip to content

Commit

Permalink
labelbp: Renamed Label->Zlabel, and FullCopyLabel to Label.
Browse files Browse the repository at this point in the history
No logic changed. Also commented the caution.

ZLabel vs Label:

```
/tmp/___BenchmarkZLabelsMarshalUnmarshal_in_github_com_thanos_io_thanos_pkg_store_labelpb -test.v -test.bench ^\QBenchmarkZLabelsMarshalUnmarshal\E$ -test.run ^$
goos: linux
goarch: amd64
pkg: github.com/thanos-io/thanos/pkg/store/labelpb
BenchmarkZLabelsMarshalUnmarshal
BenchmarkZLabelsMarshalUnmarshal/Label
BenchmarkZLabelsMarshalUnmarshal/Label-12         	       8	 133253790 ns/op	212008374 B/op	 1000005 allocs/op
BenchmarkZLabelsMarshalUnmarshal/ZLabel
BenchmarkZLabelsMarshalUnmarshal/ZLabel-12        	       9	 121597711 ns/op	100008368 B/op	       5 allocs/op
PASS

Process finished with exit code 0
```


Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
  • Loading branch information
bwplotka committed Oct 16, 2020
1 parent eb20d9c commit 21a3ef1
Show file tree
Hide file tree
Showing 42 changed files with 878 additions and 871 deletions.
18 changes: 9 additions & 9 deletions pkg/api/query/v1_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1321,7 +1321,7 @@ func TestRulesHandler(t *testing.T) {
EvaluationDurationSeconds: 12,
Health: "x",
Query: "sum(up)",
Labels: storepb.LabelSet{Labels: []storepb.Label{{Name: "some", Value: "label"}}},
Labels: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{{Name: "some", Value: "label"}}},
LastError: "err1",
}),
rulespb.NewRecordingRule(&rulespb.RecordingRule{
Expand All @@ -1330,7 +1330,7 @@ func TestRulesHandler(t *testing.T) {
EvaluationDurationSeconds: 12,
Health: "x",
Query: "sum(up1)",
Labels: storepb.LabelSet{Labels: []storepb.Label{{Name: "some", Value: "label2"}}},
Labels: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{{Name: "some", Value: "label2"}}},
}),
rulespb.NewAlertingRule(&rulespb.Alert{
Name: "3",
Expand All @@ -1339,21 +1339,21 @@ func TestRulesHandler(t *testing.T) {
Health: "x",
Query: "sum(up2) == 2",
DurationSeconds: 101,
Labels: storepb.LabelSet{Labels: []storepb.Label{{Name: "some", Value: "label3"}}},
Annotations: storepb.LabelSet{Labels: []storepb.Label{{Name: "ann", Value: "a1"}}},
Labels: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{{Name: "some", Value: "label3"}}},
Annotations: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{{Name: "ann", Value: "a1"}}},
Alerts: []*rulespb.AlertInstance{
{
Labels: storepb.LabelSet{Labels: []storepb.Label{{Name: "inside", Value: "1"}}},
Annotations: storepb.LabelSet{Labels: []storepb.Label{{Name: "insideann", Value: "2"}}},
Labels: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{{Name: "inside", Value: "1"}}},
Annotations: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{{Name: "insideann", Value: "2"}}},
State: rulespb.AlertState_FIRING,
ActiveAt: &twoHAgo,
Value: "1",
// This is unlikely if groups is warn, but test nevertheless.
PartialResponseStrategy: storepb.PartialResponseStrategy_ABORT,
},
{
Labels: storepb.LabelSet{Labels: []storepb.Label{{Name: "inside", Value: "3"}}},
Annotations: storepb.LabelSet{Labels: []storepb.Label{{Name: "insideann", Value: "4"}}},
Labels: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{{Name: "inside", Value: "3"}}},
Annotations: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{{Name: "insideann", Value: "4"}}},
State: rulespb.AlertState_PENDING,
ActiveAt: nil,
Value: "2",
Expand All @@ -1370,7 +1370,7 @@ func TestRulesHandler(t *testing.T) {
Health: "x",
DurationSeconds: 102,
Query: "sum(up3) == 3",
Labels: storepb.LabelSet{Labels: []storepb.Label{{Name: "some", Value: "label4"}}},
Labels: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{{Name: "some", Value: "label4"}}},
State: rulespb.AlertState_INACTIVE,
}),
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/query/internal/test-storeset-pre-v0.8.0/storeset.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ func (s *grpcStoreSpec) Metadata(ctx context.Context, client storepb.StoreClient
return nil, 0, 0, errors.Wrapf(err, "fetching store info from %s", s.addr)
}
if len(resp.LabelSets) == 0 && len(resp.Labels) > 0 {
resp.LabelSets = []storepb.LabelSet{{Labels: resp.Labels}}
resp.LabelSets = []labelpb.ZLabelSet{{Labels: resp.Labels}}
}

return labelpb.LabelSetsToPromLabelSets(resp.LabelSets...), resp.MinTime, resp.MaxTime, nil
Expand Down Expand Up @@ -328,7 +328,7 @@ func (s *StoreSet) getHealthyStores(ctx context.Context) map[string]*storeRef {
return
}
if len(resp.LabelSets) == 0 && len(resp.Labels) > 0 {
resp.LabelSets = []storepb.LabelSet{{Labels: resp.Labels}}
resp.LabelSets = []labelpb.ZLabelSet{{Labels: resp.Labels}}
}
store.storeType = component.FromProto(resp.StoreType)
store.Update(labelpb.LabelSetsToPromLabelSets(resp.LabelSets...), resp.MinTime, resp.MaxTime)
Expand Down
25 changes: 13 additions & 12 deletions pkg/query/internal/test-storeset-pre-v0.8.0/storeset_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
"github.com/prometheus/prometheus/pkg/labels"
"github.com/thanos-io/thanos/pkg/component"
"github.com/thanos-io/thanos/pkg/store"
"github.com/thanos-io/thanos/pkg/store/labelpb"
"github.com/thanos-io/thanos/pkg/store/storepb"
"github.com/thanos-io/thanos/pkg/testutil"

Expand Down Expand Up @@ -56,7 +57,7 @@ func (s *testStore) LabelValues(ctx context.Context, r *storepb.LabelValuesReque
}

type testStoreMeta struct {
extlsetFn func(addr string) []storepb.LabelSet
extlsetFn func(addr string) []labelpb.ZLabelSet
storeType component.StoreAPI
}

Expand Down Expand Up @@ -131,10 +132,10 @@ func TestPre0_8_0_StoreSet_AgainstNewStoreGW(t *testing.T) {
st, err := startTestStores([]testStoreMeta{
{
storeType: component.Sidecar,
extlsetFn: func(addr string) []storepb.LabelSet {
return []storepb.LabelSet{
extlsetFn: func(addr string) []labelpb.ZLabelSet {
return []labelpb.ZLabelSet{
{
Labels: []storepb.Label{
Labels: []labelpb.ZLabel{
{Name: "l1", Value: "v2"},
{Name: "l2", Value: "v3"},
},
Expand All @@ -144,34 +145,34 @@ func TestPre0_8_0_StoreSet_AgainstNewStoreGW(t *testing.T) {
},
{
storeType: component.Store,
extlsetFn: func(addr string) []storepb.LabelSet {
return []storepb.LabelSet{
extlsetFn: func(addr string) []labelpb.ZLabelSet {
return []labelpb.ZLabelSet{
{
Labels: []storepb.Label{
Labels: []labelpb.ZLabel{
// This is the labelset exposed by store when having only one sidecar's data.
{Name: "l1", Value: "v2"},
{Name: "l2", Value: "v3"},
},
},
{
Labels: []storepb.Label{{Name: store.CompatibilityTypeLabelName, Value: "store"}},
Labels: []labelpb.ZLabel{{Name: store.CompatibilityTypeLabelName, Value: "store"}},
},
}
},
},
// We expect this to be duplicated.
{
storeType: component.Store,
extlsetFn: func(addr string) []storepb.LabelSet {
return []storepb.LabelSet{
extlsetFn: func(addr string) []labelpb.ZLabelSet {
return []labelpb.ZLabelSet{
{
Labels: []storepb.Label{
Labels: []labelpb.ZLabel{
{Name: "l1", Value: "v2"},
{Name: "l2", Value: "v3"},
},
},
{
Labels: []storepb.Label{{Name: store.CompatibilityTypeLabelName, Value: "store"}},
Labels: []labelpb.ZLabel{{Name: store.CompatibilityTypeLabelName, Value: "store"}},
},
}
},
Expand Down
39 changes: 20 additions & 19 deletions pkg/query/querier_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import (

"github.com/thanos-io/thanos/pkg/component"
"github.com/thanos-io/thanos/pkg/store"
"github.com/thanos-io/thanos/pkg/store/labelpb"
"github.com/thanos-io/thanos/pkg/store/storepb"
"github.com/thanos-io/thanos/pkg/testutil"
)
Expand Down Expand Up @@ -988,34 +989,34 @@ func TestSortReplicaLabel(t *testing.T) {
// 0 Single deduplication label.
{
input: []storepb.Series{
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "c", Value: "3"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "c", Value: "3"}, {Name: "d", Value: "4"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "c", Value: "4"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-2"}, {Name: "c", Value: "3"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "c", Value: "3"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "c", Value: "3"}, {Name: "d", Value: "4"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "c", Value: "4"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-2"}, {Name: "c", Value: "3"}}},
},
exp: []storepb.Series{
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-1"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-2"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "d", Value: "4"}, {Name: "b", Value: "replica-1"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "c", Value: "4"}, {Name: "b", Value: "replica-1"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-1"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-2"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "d", Value: "4"}, {Name: "b", Value: "replica-1"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "c", Value: "4"}, {Name: "b", Value: "replica-1"}}},
},
dedupLabels: map[string]struct{}{"b": {}},
},
// 1 Multi deduplication labels.
{
input: []storepb.Series{
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}, {Name: "c", Value: "3"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}, {Name: "c", Value: "3"}, {Name: "d", Value: "4"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}, {Name: "c", Value: "4"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-2"}, {Name: "b1", Value: "replica-2"}, {Name: "c", Value: "3"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-2"}, {Name: "c", Value: "3"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}, {Name: "c", Value: "3"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}, {Name: "c", Value: "3"}, {Name: "d", Value: "4"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}, {Name: "c", Value: "4"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-2"}, {Name: "b1", Value: "replica-2"}, {Name: "c", Value: "3"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "b", Value: "replica-2"}, {Name: "c", Value: "3"}}},
},
exp: []storepb.Series{
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-2"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-2"}, {Name: "b1", Value: "replica-2"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "d", Value: "4"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}}},
{Labels: []storepb.Label{{Name: "a", Value: "1"}, {Name: "c", Value: "4"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-2"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "b", Value: "replica-2"}, {Name: "b1", Value: "replica-2"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "c", Value: "3"}, {Name: "d", Value: "4"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}}},
{Labels: []labelpb.ZLabel{{Name: "a", Value: "1"}, {Name: "c", Value: "4"}, {Name: "b", Value: "replica-1"}, {Name: "b1", Value: "replica-1"}}},
},
dedupLabels: map[string]struct{}{"b": {}, "b1": {}},
},
Expand Down Expand Up @@ -1489,7 +1490,7 @@ func storeSeriesResponse(t testing.TB, lset labels.Labels, smplChunks ...[]sampl
var s storepb.Series

for _, l := range lset {
s.Labels = append(s.Labels, storepb.Label{Name: l.Name, Value: l.Value})
s.Labels = append(s.Labels, labelpb.ZLabel{Name: l.Name, Value: l.Value})
}

for _, smpls := range smplChunks {
Expand Down
2 changes: 1 addition & 1 deletion pkg/query/storeset.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ func (s *grpcStoreSpec) Metadata(ctx context.Context, client storepb.StoreClient
return nil, 0, 0, nil, errors.Wrapf(err, "fetching store info from %s", s.addr)
}
if len(resp.LabelSets) == 0 && len(resp.Labels) > 0 {
resp.LabelSets = []storepb.LabelSet{{Labels: resp.Labels}}
resp.LabelSets = []labelpb.ZLabelSet{{Labels: resp.Labels}}
}

labelSets = make([]labels.Labels, 0, len(resp.LabelSets))
Expand Down
Loading

0 comments on commit 21a3ef1

Please sign in to comment.