Skip to content

Commit dbaeac2

Browse files
roystchiangrohang98
authored andcommitted
register notifier metrics under per-user metric registry
Signed-off-by: Roy Chiang <roychi@amazon.com>
1 parent c2d894b commit dbaeac2

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

pkg/ruler/manager.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -166,16 +166,16 @@ func (r *DefaultMultiTenantManager) syncRulesToManager(ctx context.Context, user
166166
// newManager creates a prometheus rule manager wrapped with a user id
167167
// configured storage, appendable, notifier, and instrumentation
168168
func (r *DefaultMultiTenantManager) newManager(ctx context.Context, userID string) (RulesManager, error) {
169-
notifier, err := r.getOrCreateNotifier(userID)
170-
if err != nil {
171-
return nil, err
172-
}
173-
174169
// Create a new Prometheus registry and register it within
175170
// our metrics struct for the provided user.
176171
reg := prometheus.NewRegistry()
177172
r.userManagerMetrics.AddUserRegistry(userID, reg)
178173

174+
notifier, err := r.getOrCreateNotifier(userID, reg)
175+
if err != nil {
176+
return nil, err
177+
}
178+
179179
return r.managerFactory(ctx, userID, notifier, r.logger, reg), nil
180180
}
181181

@@ -191,7 +191,7 @@ func (r *DefaultMultiTenantManager) removeNotifier(userID string) *rulerNotifier
191191
return n
192192
}
193193

194-
func (r *DefaultMultiTenantManager) getOrCreateNotifier(userID string) (*notifier.Manager, error) {
194+
func (r *DefaultMultiTenantManager) getOrCreateNotifier(userID string, userManagerRegistry prometheus.Registerer) (*notifier.Manager, error) {
195195
r.notifiersMtx.Lock()
196196
defer r.notifiersMtx.Unlock()
197197

@@ -200,7 +200,7 @@ func (r *DefaultMultiTenantManager) getOrCreateNotifier(userID string) (*notifie
200200
return n.notifier, nil
201201
}
202202

203-
reg := prometheus.WrapRegistererWith(prometheus.Labels{"user": userID}, r.registry)
203+
reg := prometheus.WrapRegistererWith(prometheus.Labels{"user": userID}, userManagerRegistry)
204204
reg = prometheus.WrapRegistererWithPrefix("cortex_", reg)
205205
n = newRulerNotifier(&notifier.Options{
206206
QueueCapacity: r.cfg.NotificationQueueCapacity,

pkg/ruler/ruler_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ func TestNotifierSendsUserIDHeader(t *testing.T) {
274274
defer rcleanup()
275275
defer manager.Stop()
276276

277-
n, err := manager.getOrCreateNotifier("1")
277+
n, err := manager.getOrCreateNotifier("1", manager.registry)
278278
require.NoError(t, err)
279279

280280
// Loop until notifier discovery syncs up

0 commit comments

Comments
 (0)