Skip to content

Commit 5fa0f7a

Browse files
committed
Reduce lock contention on series creation and del
Signed-off-by: Goutham Veeramachaneni <[email protected]>
1 parent 1cdc9a7 commit 5fa0f7a

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

pkg/ingester/user_state.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ type userState struct {
5656
ingestedRuleSamples *ewmaRate
5757

5858
seriesInMetric []metricCounterShard
59+
60+
memSeriesCreatedTotal prometheus.Counter
61+
memSeriesRemovedTotal prometheus.Counter
5962
}
6063

6164
const metricCounterShards = 128
@@ -145,6 +148,9 @@ func (us *userStates) getOrCreateSeries(ctx context.Context, labels labelPairs)
145148
ingestedAPISamples: newEWMARate(0.2, us.cfg.RateUpdatePeriod),
146149
ingestedRuleSamples: newEWMARate(0.2, us.cfg.RateUpdatePeriod),
147150
seriesInMetric: seriesInMetric,
151+
152+
memSeriesCreatedTotal: memSeriesCreatedTotal.WithLabelValues(userID),
153+
memSeriesRemovedTotal: memSeriesRemovedTotal.WithLabelValues(userID),
148154
}
149155
state.mapper = newFPMapper(state.fpToSeries)
150156
stored, ok := us.states.LoadOrStore(userID, state)
@@ -194,7 +200,7 @@ func (u *userState) getSeries(metric labelPairs) (model.Fingerprint, *memorySeri
194200
}
195201

196202
util.Event().Log("msg", "new series", "userID", u.userID, "fp", fp, "series", metric)
197-
memSeriesCreatedTotal.WithLabelValues(u.userID).Inc()
203+
u.memSeriesCreatedTotal.Inc()
198204
memSeries.Inc()
199205

200206
series = newMemorySeries(metric)
@@ -237,7 +243,7 @@ func (u *userState) removeSeries(fp model.Fingerprint, metric labelPairs) {
237243
delete(shard.m, metricName)
238244
}
239245

240-
memSeriesRemovedTotal.WithLabelValues(u.userID).Inc()
246+
u.memSeriesRemovedTotal.Inc()
241247
memSeries.Dec()
242248
}
243249

0 commit comments

Comments
 (0)