Skip to content

Commit cfd71f6

Browse files
committed
fix
1 parent 5645610 commit cfd71f6

File tree

4 files changed

+28
-19
lines changed

4 files changed

+28
-19
lines changed

pkg/query/aggregation_label_rewriter.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ func newAggregationLabelRewriterMetrics(reg prometheus.Registerer, desiredLabelV
6161
return m
6262
}
6363

64+
func NewNopAggregationLabelRewriter() *AggregationLabelRewriter {
65+
return &AggregationLabelRewriter{
66+
enabled: false,
67+
}
68+
}
69+
6470
func NewAggregationLabelRewriter(logger log.Logger, reg prometheus.Registerer, desiredLabelValue string) *AggregationLabelRewriter {
6571
if logger == nil {
6672
logger = log.NewNopLogger()

pkg/query/querier.go

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,11 @@ func NewQueryableCreatorWithOptions(
9191
opts Options,
9292
) QueryableCreator {
9393
gf := gate.NewGateFactory(extprom.WrapRegistererWithPrefix("concurrent_selects_", reg), maxConcurrentSelects, gate.Selects)
94-
94+
aggregationLabelRewriter := NewAggregationLabelRewriter(
95+
logger,
96+
extprom.WrapRegistererWithPrefix("aggregation_label_rewriter_", reg),
97+
opts.RewriteAggregationLabelTo,
98+
)
9599
return func(
96100
deduplicate bool,
97101
replicaLabels []string,
@@ -104,7 +108,6 @@ func NewQueryableCreatorWithOptions(
104108
) storage.Queryable {
105109
return &queryable{
106110
logger: logger,
107-
reg: reg,
108111
replicaLabels: replicaLabels,
109112
storeDebugMatchers: storeDebugMatchers,
110113
proxy: proxy,
@@ -120,13 +123,14 @@ func NewQueryableCreatorWithOptions(
120123
shardInfo: shardInfo,
121124
seriesStatsReporter: seriesStatsReporter,
122125
opts: opts,
126+
127+
aggregationLabelRewriter: aggregationLabelRewriter,
123128
}
124129
}
125130
}
126131

127132
type queryable struct {
128133
logger log.Logger
129-
reg prometheus.Registerer
130134
replicaLabels []string
131135
storeDebugMatchers [][]*labels.Matcher
132136
proxy storepb.StoreServer
@@ -140,16 +144,17 @@ type queryable struct {
140144
shardInfo *storepb.ShardInfo
141145
seriesStatsReporter seriesStatsReporter
142146
opts Options
147+
148+
aggregationLabelRewriter *AggregationLabelRewriter
143149
}
144150

145151
// Querier returns a new storage querier against the underlying proxy store API.
146152
func (q *queryable) Querier(mint, maxt int64) (storage.Querier, error) {
147-
return newQuerierWithOpts(q.logger, q.reg, mint, maxt, q.replicaLabels, q.storeDebugMatchers, q.proxy, q.deduplicate, q.maxResolutionMillis, q.partialResponse, q.skipChunks, q.gateProviderFn(), q.selectTimeout, q.shardInfo, q.seriesStatsReporter, q.opts), nil
153+
return newQuerierWithOpts(q.logger, mint, maxt, q.replicaLabels, q.storeDebugMatchers, q.proxy, q.deduplicate, q.maxResolutionMillis, q.partialResponse, q.skipChunks, q.gateProviderFn(), q.selectTimeout, q.shardInfo, q.seriesStatsReporter, q.aggregationLabelRewriter, q.opts), nil
148154
}
149155

150156
type querier struct {
151157
logger log.Logger
152-
reg prometheus.Registerer
153158
mint, maxt int64
154159
deduplicationFunc string
155160
replicaLabels []string
@@ -172,7 +177,6 @@ type querier struct {
172177
// nolint:unparam
173178
func newQuerier(
174179
logger log.Logger,
175-
reg prometheus.Registerer,
176180
mint,
177181
maxt int64,
178182
replicaLabels []string,
@@ -186,13 +190,13 @@ func newQuerier(
186190
selectTimeout time.Duration,
187191
shardInfo *storepb.ShardInfo,
188192
seriesStatsReporter seriesStatsReporter,
193+
aggregationLabelRewriter *AggregationLabelRewriter,
189194
) *querier {
190-
return newQuerierWithOpts(logger, reg, mint, maxt, replicaLabels, storeDebugMatchers, proxy, deduplicate, maxResolutionMillis, partialResponse, skipChunks, selectGate, selectTimeout, shardInfo, seriesStatsReporter, Options{})
195+
return newQuerierWithOpts(logger, mint, maxt, replicaLabels, storeDebugMatchers, proxy, deduplicate, maxResolutionMillis, partialResponse, skipChunks, selectGate, selectTimeout, shardInfo, seriesStatsReporter, aggregationLabelRewriter, Options{})
191196
}
192197

193198
func newQuerierWithOpts(
194199
logger log.Logger,
195-
reg prometheus.Registerer,
196200
mint,
197201
maxt int64,
198202
replicaLabels []string,
@@ -206,11 +210,15 @@ func newQuerierWithOpts(
206210
selectTimeout time.Duration,
207211
shardInfo *storepb.ShardInfo,
208212
seriesStatsReporter seriesStatsReporter,
213+
aggregationLabelRewriter *AggregationLabelRewriter,
209214
opts Options,
210215
) *querier {
211216
if logger == nil {
212217
logger = log.NewNopLogger()
213218
}
219+
if aggregationLabelRewriter == nil {
220+
aggregationLabelRewriter = NewNopAggregationLabelRewriter()
221+
}
214222
rl := make(map[string]struct{})
215223
for _, replicaLabel := range replicaLabels {
216224
rl[replicaLabel] = struct{}{}
@@ -225,7 +233,6 @@ func newQuerierWithOpts(
225233
}
226234
return &querier{
227235
logger: logger,
228-
reg: reg,
229236
selectGate: selectGate,
230237
selectTimeout: selectTimeout,
231238

@@ -242,11 +249,7 @@ func newQuerierWithOpts(
242249
shardInfo: shardInfo,
243250
seriesStatsReporter: seriesStatsReporter,
244251

245-
aggregationLabelRewriter: NewAggregationLabelRewriter(
246-
logger,
247-
extprom.WrapRegistererWithPrefix("aggregation_label_rewriter_", reg),
248-
opts.RewriteAggregationLabelTo,
249-
),
252+
aggregationLabelRewriter: aggregationLabelRewriter,
250253
}
251254
}
252255

pkg/query/querier_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ func TestQuerier_Select_AfterPromQL(t *testing.T) {
399399
g := gate.New(2)
400400
mq := &mockedQueryable{
401401
Creator: func(mint, maxt int64) storage.Querier {
402-
return newQuerier(nil, nil, mint, maxt, tcase.replicaLabels, nil, tcase.storeAPI, sc.dedup, 0, true, false, g, timeout, nil, NoopSeriesStatsReporter)
402+
return newQuerier(nil, mint, maxt, tcase.replicaLabels, nil, tcase.storeAPI, sc.dedup, 0, true, false, g, timeout, nil, NoopSeriesStatsReporter, nil)
403403
},
404404
}
405405
t.Cleanup(func() {
@@ -780,7 +780,6 @@ func TestQuerier_Select(t *testing.T) {
780780
} {
781781
g := gate.New(2)
782782
q := newQuerier(
783-
nil,
784783
nil,
785784
tcase.mint,
786785
tcase.maxt,
@@ -795,6 +794,7 @@ func TestQuerier_Select(t *testing.T) {
795794
timeout,
796795
nil,
797796
NoopSeriesStatsReporter,
797+
nil,
798798
)
799799
t.Cleanup(func() { testutil.Ok(t, q.Close()) })
800800

@@ -1086,7 +1086,7 @@ func TestQuerierWithDedupUnderstoodByPromQL_Rate(t *testing.T) {
10861086

10871087
timeout := 100 * time.Second
10881088
g := gate.New(2)
1089-
q := newQuerier(logger, nil, realSeriesWithStaleMarkerMint, realSeriesWithStaleMarkerMaxt, []string{"replica"}, nil, newProxyStore(s), false, 0, true, false, g, timeout, nil, NoopSeriesStatsReporter)
1089+
q := newQuerier(logger, realSeriesWithStaleMarkerMint, realSeriesWithStaleMarkerMaxt, []string{"replica"}, nil, newProxyStore(s), false, 0, true, false, g, timeout, nil, NoopSeriesStatsReporter, nil)
10901090
t.Cleanup(func() {
10911091
testutil.Ok(t, q.Close())
10921092
})
@@ -1156,7 +1156,7 @@ func TestQuerierWithDedupUnderstoodByPromQL_Rate(t *testing.T) {
11561156

11571157
timeout := 5 * time.Second
11581158
g := gate.New(2)
1159-
q := newQuerier(logger, nil, realSeriesWithStaleMarkerMint, realSeriesWithStaleMarkerMaxt, []string{"replica"}, nil, newProxyStore(s), true, 0, true, false, g, timeout, nil, NoopSeriesStatsReporter)
1159+
q := newQuerier(logger, realSeriesWithStaleMarkerMint, realSeriesWithStaleMarkerMaxt, []string{"replica"}, nil, newProxyStore(s), true, 0, true, false, g, timeout, nil, NoopSeriesStatsReporter, nil)
11601160
t.Cleanup(func() {
11611161
testutil.Ok(t, q.Close())
11621162
})

pkg/query/query_bench_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ func benchQuerySelect(t testutil.TB, totalSamples, totalSeries int, dedup bool)
8787
logger := log.NewNopLogger()
8888
q := newQuerier(
8989
logger,
90-
nil,
9190
math.MinInt64,
9291
math.MaxInt64,
9392
[]string{"a_replica"},
@@ -101,6 +100,7 @@ func benchQuerySelect(t testutil.TB, totalSamples, totalSeries int, dedup bool)
101100
10*time.Second,
102101
nil,
103102
NoopSeriesStatsReporter,
103+
nil,
104104
)
105105
testSelect(t, q, expectedSeries)
106106
}

0 commit comments

Comments
 (0)