mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-15 01:54:06 -08:00
Repurpose FederatedContextFunc into GroupEvaluationContextFunc
This commit is contained in:
parent
42a7f1e210
commit
75d3c11278
|
@ -903,7 +903,7 @@ type Manager struct {
|
||||||
// NotifyFunc sends notifications about a set of alerts generated by the given expression.
|
// NotifyFunc sends notifications about a set of alerts generated by the given expression.
|
||||||
type NotifyFunc func(ctx context.Context, expr string, alerts ...*Alert)
|
type NotifyFunc func(ctx context.Context, expr string, alerts ...*Alert)
|
||||||
|
|
||||||
type ContextFunc func(g *Group) context.Context
|
type ContextWrapFunc func(ctx context.Context, g *Group) context.Context
|
||||||
|
|
||||||
// ManagerOptions bundles options for the Manager.
|
// ManagerOptions bundles options for the Manager.
|
||||||
type ManagerOptions struct {
|
type ManagerOptions struct {
|
||||||
|
@ -911,8 +911,9 @@ type ManagerOptions struct {
|
||||||
QueryFunc QueryFunc
|
QueryFunc QueryFunc
|
||||||
NotifyFunc NotifyFunc
|
NotifyFunc NotifyFunc
|
||||||
Context context.Context
|
Context context.Context
|
||||||
// FederatedContextFunc will be called to obtain a context when evaluating rules with non-empty SourceTenants
|
// GroupEvaluationContextFunc will be called to wrap Context based on the group being evaluated.
|
||||||
FederatedContextFunc ContextFunc
|
// Will be skipped if nil.
|
||||||
|
GroupEvaluationContextFunc ContextWrapFunc
|
||||||
Appendable storage.Appendable
|
Appendable storage.Appendable
|
||||||
Queryable storage.Queryable
|
Queryable storage.Queryable
|
||||||
Logger log.Logger
|
Logger log.Logger
|
||||||
|
@ -1014,8 +1015,8 @@ func (m *Manager) Update(interval time.Duration, files []string, externalLabels
|
||||||
wg.Done()
|
wg.Done()
|
||||||
|
|
||||||
ctx := m.opts.Context
|
ctx := m.opts.Context
|
||||||
if len(newg.sourceTenants) > 0 {
|
if m.opts.GroupEvaluationContextFunc != nil {
|
||||||
ctx = m.opts.FederatedContextFunc(newg)
|
ctx = m.opts.GroupEvaluationContextFunc(ctx, newg)
|
||||||
}
|
}
|
||||||
// Wait with starting evaluation until the rule manager
|
// Wait with starting evaluation until the rule manager
|
||||||
// is told to run. This is necessary to avoid running
|
// is told to run. This is necessary to avoid running
|
||||||
|
|
|
@ -722,7 +722,6 @@ func TestUpdate(t *testing.T) {
|
||||||
Queryable: st,
|
Queryable: st,
|
||||||
QueryFunc: EngineQueryFunc(engine, st),
|
QueryFunc: EngineQueryFunc(engine, st),
|
||||||
Context: context.Background(),
|
Context: context.Background(),
|
||||||
FederatedContextFunc: func(*Group) context.Context { return context.Background() },
|
|
||||||
Logger: log.NewNopLogger(),
|
Logger: log.NewNopLogger(),
|
||||||
})
|
})
|
||||||
ruleManager.start()
|
ruleManager.start()
|
||||||
|
|
Loading…
Reference in a new issue