Skip to content

Commit

Permalink
Expand sample
Browse files Browse the repository at this point in the history
  • Loading branch information
fpetkovski committed Feb 23, 2024
1 parent 02ebe6a commit 17fbb9b
Showing 1 changed file with 52 additions and 51 deletions.
103 changes: 52 additions & 51 deletions pkg/query/querier_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import (
type sample struct {
t int64
v float64
h *histogram.Histogram
}

func TestQueryableCreator_MaxResolution(t *testing.T) {
Expand Down Expand Up @@ -74,12 +75,12 @@ func TestQueryableCreator_MaxResolution(t *testing.T) {
func TestQuerier_DownsampledData(t *testing.T) {
testProxy := &testStoreServer{
resps: []*storepb.SeriesResponse{
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "a", "aaa", "bbb"), []sample{{99, 1}, {199, 5}}), // Downsampled chunk from Store.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "b", "bbbb", "eee"), []sample{{99, 3}, {199, 8}}), // Downsampled chunk from Store.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "c", "qwe", "wqeqw"), []sample{{99, 5}, {199, 15}}), // Downsampled chunk from Store.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "c", "htgtreytr", "vbnbv"), []sample{{99, 123}, {199, 15}}), // Downsampled chunk from Store.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "d", "asdsad", "qweqwewq"), []sample{{22, 5}, {44, 8}, {199, 15}}), // Raw chunk from Sidecar.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "d", "asdsad", "qweqwebb"), []sample{{22, 5}, {44, 8}, {199, 15}}), // Raw chunk from Sidecar.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "a", "aaa", "bbb"), []sample{{t: 99, v: 1}, {t: 199, v: 5}}), // Downsampled chunk from Store.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "b", "bbbb", "eee"), []sample{{t: 99, v: 3}, {t: 199, v: 8}}), // Downsampled chunk from Store.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "c", "qwe", "wqeqw"), []sample{{t: 99, v: 5}, {t: 199, v: 15}}), // Downsampled chunk from Store.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "c", "htgtreytr", "vbnbv"), []sample{{t: 99, v: 123}, {t: 199, v: 15}}), // Downsampled chunk from Store.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "d", "asdsad", "qweqwewq"), []sample{{t: 22, v: 5}, {t: 44, v: 8}, {t: 199, v: 15}}), // Raw chunk from Sidecar.
storeSeriesResponse(t, labels.FromStrings("__name__", "a", "zzz", "d", "asdsad", "qweqwebb"), []sample{{t: 22, v: 5}, {t: 44, v: 8}, {t: 199, v: 15}}), // Raw chunk from Sidecar.
},
}

Expand Down Expand Up @@ -444,12 +445,12 @@ func TestQuerier_Select(t *testing.T) {
storeEndpoints: []storepb.StoreServer{
&testStoreServer{
resps: []*storepb.SeriesResponse{
storeSeriesResponse(t, labels.FromStrings("a", "a"), []sample{{0, 0}, {2, 1}, {3, 2}}),
storeSeriesResponse(t, labels.FromStrings("a", "a"), []sample{{t: 0, v: 0}, {t: 2, v: 1}, {t: 3, v: 2}}),
storepb.NewWarnSeriesResponse(errors.New("partial error")),
storeSeriesResponse(t, labels.FromStrings("a", "a"), []sample{{5, 5}, {6, 6}, {7, 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "a"), []sample{{5, 5}, {6, 66}}),
storeSeriesResponse(t, labels.FromStrings("a", "b"), []sample{{2, 2}, {3, 3}, {4, 4}}, []sample{{1, 1}, {2, 2}, {3, 3}}),
storeSeriesResponse(t, labels.FromStrings("a", "c"), []sample{{100, 1}, {300, 3}, {400, 4}}),
storeSeriesResponse(t, labels.FromStrings("a", "a"), []sample{{t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "a"), []sample{{t: 5, v: 5}, {t: 6, v: 66}}),
storeSeriesResponse(t, labels.FromStrings("a", "b"), []sample{{t: 2, v: 2}, {t: 3, v: 3}, {t: 4, v: 4}}, []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}}),
storeSeriesResponse(t, labels.FromStrings("a", "c"), []sample{{t: 100, v: 1}, {t: 300, v: 3}, {t: 400, v: 4}}),
},
},
},
Expand All @@ -464,21 +465,21 @@ func TestQuerier_Select(t *testing.T) {
expected: []series{
{
lset: labels.FromStrings("a", "a"),
samples: []sample{{2, 1}, {3, 2}, {5, 5}, {6, 66}, {7, 7}},
samples: []sample{{t: 2, v: 1}, {t: 3, v: 2}, {t: 5, v: 5}, {t: 6, v: 66}, {t: 7, v: 7}},
},
{
lset: labels.FromStrings("a", "b"),
samples: []sample{{1, 1}, {2, 2}, {3, 3}, {4, 4}},
samples: []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}, {t: 4, v: 4}},
},
{
lset: labels.FromStrings("a", "c"),
samples: []sample{{100, 1}, {300, 3}},
samples: []sample{{t: 100, v: 1}, {t: 300, v: 3}},
},
},
expectedAfterDedup: []series{{
lset: nil,
// We don't expect correctness here, it's just random non-replica data.
samples: []sample{{1, 1}, {2, 2}, {3, 3}, {5, 5}, {6, 6}, {7, 7}},
samples: []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}, {t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}},
}},
expectedWarning: "partial error",
},
Expand Down Expand Up @@ -632,18 +633,18 @@ func TestQuerier_Select(t *testing.T) {
storeEndpoints: []storepb.StoreServer{
&testStoreServer{
resps: []*storepb.SeriesResponse{
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "w", "1"), []sample{{0, 0}, {2, 1}, {3, 2}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "w", "1"), []sample{{5, 5}, {6, 6}, {7, 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "x", "1"), []sample{{2, 2}, {3, 3}, {4, 4}}, []sample{{1, 1}, {2, 2}, {3, 3}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "x", "1"), []sample{{100, 1}, {300, 3}, {400, 4}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{5, 5}, {7, 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "w", "1"), []sample{{t: 0, v: 0}, {t: 2, v: 1}, {t: 3, v: 2}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "w", "1"), []sample{{t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "x", "1"), []sample{{t: 2, v: 2}, {t: 3, v: 3}, {t: 4, v: 4}}, []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "x", "1"), []sample{{t: 100, v: 1}, {t: 300, v: 3}, {t: 400, v: 4}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{t: 5, v: 5}, {t: 7, v: 7}}),
},
},
&testStoreServer{
resps: []*storepb.SeriesResponse{
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{2, 1}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{5, 5}, {6, 6}, {7, 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "x", "2"), []sample{{10, 10}, {30, 30}, {40, 40}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{t: 2, v: 1}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "x", "2"), []sample{{t: 10, v: 10}, {t: 30, v: 30}, {t: 40, v: 40}}),
},
},
},
Expand All @@ -654,36 +655,36 @@ func TestQuerier_Select(t *testing.T) {
expected: []series{
{
lset: labels.FromStrings("a", "1", "r", "1", "w", "1"),
samples: []sample{{2, 1}, {3, 2}, {5, 5}, {6, 6}, {7, 7}},
samples: []sample{{t: 2, v: 1}, {t: 3, v: 2}, {t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}},
},
{
lset: labels.FromStrings("a", "1", "r", "1", "x", "1"),
samples: []sample{{1, 1}, {2, 2}, {3, 3}, {4, 4}, {100, 1}, {300, 3}},
samples: []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}, {t: 4, v: 4}, {t: 100, v: 1}, {t: 300, v: 3}},
},
{
lset: labels.FromStrings("a", "1", "r", "2", "w", "1"),
samples: []sample{{2, 1}, {5, 5}, {6, 6}, {7, 7}},
samples: []sample{{t: 2, v: 1}, {t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}},
},
{
lset: labels.FromStrings("a", "1", "r", "2", "x", "2"),
samples: []sample{{10, 10}, {30, 30}, {40, 40}},
samples: []sample{{t: 10, v: 10}, {t: 30, v: 30}, {t: 40, v: 40}},
},
},
expectedAfterDedup: []series{
{
lset: labels.FromStrings("a", "1", "w", "1"),
// We don't expect correctness here, it's just random non-replica data.
samples: []sample{{2, 1}, {3, 2}, {5, 5}, {6, 6}, {7, 7}},
samples: []sample{{t: 2, v: 1}, {t: 3, v: 2}, {t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}},
},
{
lset: labels.FromStrings("a", "1", "x", "1"),
// We don't expect correctness here, it's just random non-replica data.
samples: []sample{{1, 1}, {2, 2}, {3, 3}, {100, 1}, {300, 3}},
samples: []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}, {t: 100, v: 1}, {t: 300, v: 3}},
},
{
lset: labels.FromStrings("a", "1", "x", "2"),
// We don't expect correctness here, it's just random non-replica data.
samples: []sample{{10, 10}, {30, 30}, {40, 40}},
samples: []sample{{t: 10, v: 10}, {t: 30, v: 30}, {t: 40, v: 40}},
},
},
},
Expand All @@ -692,25 +693,25 @@ func TestQuerier_Select(t *testing.T) {
storeEndpoints: []storepb.StoreServer{
&testStoreServer{
resps: []*storepb.SeriesResponse{
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "w", "1"), []sample{{0, 0}, {2, 1}, {3, 2}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "w", "1"), []sample{{5, 5}, {6, 6}, {7, 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "x", "1"), []sample{{2, 2}, {3, 3}, {4, 4}}, []sample{{1, 1}, {2, 2}, {3, 3}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "x", "1"), []sample{{100, 1}, {300, 3}, {400, 4}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{5, 5}, {7, 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "w", "1"), []sample{{t: 0, v: 0}, {t: 2, v: 1}, {t: 3, v: 2}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "w", "1"), []sample{{t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "x", "1"), []sample{{t: 2, v: 2}, {t: 3, v: 3}, {t: 4, v: 4}}, []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "1", "x", "1"), []sample{{t: 100, v: 1}, {t: 300, v: 3}, {t: 400, v: 4}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{t: 5, v: 5}, {t: 7, v: 7}}),
},
respsWithoutReplicaLabels: []*storepb.SeriesResponse{
storeSeriesResponse(t, labels.FromStrings("a", "1", "w", "1"), []sample{{5, 5}, {7, 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "w", "1"), []sample{{0, 0}, {2, 1}, {3, 2}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "w", "1"), []sample{{5, 5}, {6, 6}, {7, 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "x", "1"), []sample{{2, 2}, {3, 3}, {4, 4}}, []sample{{1, 1}, {2, 2}, {3, 3}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "x", "1"), []sample{{100, 1}, {300, 3}, {400, 4}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "w", "1"), []sample{{t: 5, v: 5}, {t: 7, v: 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "w", "1"), []sample{{t: 0, v: 0}, {t: 2, v: 1}, {t: 3, v: 2}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "w", "1"), []sample{{t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "x", "1"), []sample{{t: 2, v: 2}, {t: 3, v: 3}, {t: 4, v: 4}}, []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "x", "1"), []sample{{t: 100, v: 1}, {t: 300, v: 3}, {t: 400, v: 4}}),
},
},
&testStoreServer{
resps: []*storepb.SeriesResponse{
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{2, 1}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{5, 5}, {6, 6}, {7, 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "x", "2"), []sample{{10, 10}, {30, 30}, {40, 40}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{t: 2, v: 1}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "w", "1"), []sample{{t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}}),
storeSeriesResponse(t, labels.FromStrings("a", "1", "r", "2", "x", "2"), []sample{{t: 10, v: 10}, {t: 30, v: 30}, {t: 40, v: 40}}),
},
},
},
Expand All @@ -721,36 +722,36 @@ func TestQuerier_Select(t *testing.T) {
expected: []series{
{
lset: labels.FromStrings("a", "1", "r", "1", "w", "1"),
samples: []sample{{2, 1}, {3, 2}, {5, 5}, {6, 6}, {7, 7}},
samples: []sample{{t: 2, v: 1}, {t: 3, v: 2}, {t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}},
},
{
lset: labels.FromStrings("a", "1", "r", "1", "x", "1"),
samples: []sample{{1, 1}, {2, 2}, {3, 3}, {4, 4}, {100, 1}, {300, 3}},
samples: []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}, {t: 4, v: 4}, {t: 100, v: 1}, {t: 300, v: 3}},
},
{
lset: labels.FromStrings("a", "1", "r", "2", "w", "1"),
samples: []sample{{2, 1}, {5, 5}, {6, 6}, {7, 7}},
samples: []sample{{t: 2, v: 1}, {t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}},
},
{
lset: labels.FromStrings("a", "1", "r", "2", "x", "2"),
samples: []sample{{10, 10}, {30, 30}, {40, 40}},
samples: []sample{{t: 10, v: 10}, {t: 30, v: 30}, {t: 40, v: 40}},
},
},
expectedAfterDedup: []series{
{
lset: labels.FromStrings("a", "1", "w", "1"),
// We don't expect correctness here, it's just random non-replica data.
samples: []sample{{2, 1}, {3, 2}, {5, 5}, {6, 6}, {7, 7}},
samples: []sample{{t: 2, v: 1}, {t: 3, v: 2}, {t: 5, v: 5}, {t: 6, v: 6}, {t: 7, v: 7}},
},
{
lset: labels.FromStrings("a", "1", "x", "1"),
// We don't expect correctness here, it's just random non-replica data.
samples: []sample{{1, 1}, {2, 2}, {3, 3}, {100, 1}, {300, 3}},
samples: []sample{{t: 1, v: 1}, {t: 2, v: 2}, {t: 3, v: 3}, {t: 100, v: 1}, {t: 300, v: 3}},
},
{
lset: labels.FromStrings("a", "1", "x", "2"),
// We don't expect correctness here, it's just random non-replica data.
samples: []sample{{10, 10}, {30, 30}, {40, 40}},
samples: []sample{{t: 10, v: 10}, {t: 30, v: 30}, {t: 40, v: 40}},
},
},
},
Expand Down Expand Up @@ -1211,7 +1212,7 @@ func expandSeries(t testing.TB, it chunkenc.Iterator) (res []sample) {
if math.IsNaN(v) {
v = hackyStaleMarker
}
res = append(res, sample{t, v})
res = append(res, sample{t: t, v: v})
}
testutil.Ok(t, it.Err())
return res
Expand Down

0 comments on commit 17fbb9b

Please sign in to comment.