mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Pass loggers into SchedulerCfg and ManagerCfg. (#75158)
This commit is contained in:
parent
e3eb4a3590
commit
894f420014
@ -89,6 +89,7 @@ func (srv TestingApiSrv) RouteTestGrafanaRuleConfig(c *contextmodel.ReqContext,
|
|||||||
Historian: nil,
|
Historian: nil,
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: srv.tracer,
|
Tracer: srv.tracer,
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
manager := state.NewManager(cfg)
|
manager := state.NewManager(cfg)
|
||||||
includeFolder := !srv.cfg.ReservedLabels.IsReservedLabelDisabled(models.FolderTitleLabel)
|
includeFolder := !srv.cfg.ReservedLabels.IsReservedLabelDisabled(models.FolderTitleLabel)
|
||||||
|
@ -54,6 +54,7 @@ func NewEngine(appUrl *url.URL, evalFactory eval.EvaluatorFactory, tracer tracin
|
|||||||
Historian: nil,
|
Historian: nil,
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracer,
|
Tracer: tracer,
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
return state.NewManager(cfg)
|
return state.NewManager(cfg)
|
||||||
},
|
},
|
||||||
|
@ -202,6 +202,7 @@ func (ng *AlertNG) init() error {
|
|||||||
Metrics: ng.Metrics.GetSchedulerMetrics(),
|
Metrics: ng.Metrics.GetSchedulerMetrics(),
|
||||||
AlertSender: alertsRouter,
|
AlertSender: alertsRouter,
|
||||||
Tracer: ng.tracer,
|
Tracer: ng.tracer,
|
||||||
|
Log: log.New("ngalert.scheduler"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// There are a set of feature toggles available that act as short-circuits for common configurations.
|
// There are a set of feature toggles available that act as short-circuits for common configurations.
|
||||||
@ -222,6 +223,7 @@ func (ng *AlertNG) init() error {
|
|||||||
MaxStateSaveConcurrency: ng.Cfg.UnifiedAlerting.MaxStateSaveConcurrency,
|
MaxStateSaveConcurrency: ng.Cfg.UnifiedAlerting.MaxStateSaveConcurrency,
|
||||||
ApplyNoDataAndErrorToAllStates: ng.FeatureToggles.IsEnabled(featuremgmt.FlagAlertingNoDataErrorExecution),
|
ApplyNoDataAndErrorToAllStates: ng.FeatureToggles.IsEnabled(featuremgmt.FlagAlertingNoDataErrorExecution),
|
||||||
Tracer: ng.tracer,
|
Tracer: ng.tracer,
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
stateManager := state.NewManager(cfg)
|
stateManager := state.NewManager(cfg)
|
||||||
scheduler := schedule.NewScheduler(schedCfg, stateManager)
|
scheduler := schedule.NewScheduler(schedCfg, stateManager)
|
||||||
|
@ -104,6 +104,7 @@ type SchedulerCfg struct {
|
|||||||
Metrics *metrics.Scheduler
|
Metrics *metrics.Scheduler
|
||||||
AlertSender AlertsSender
|
AlertSender AlertsSender
|
||||||
Tracer tracing.Tracer
|
Tracer tracing.Tracer
|
||||||
|
Log log.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewScheduler returns a new schedule.
|
// NewScheduler returns a new schedule.
|
||||||
@ -113,7 +114,7 @@ func NewScheduler(cfg SchedulerCfg, stateManager *state.Manager) *schedule {
|
|||||||
maxAttempts: cfg.MaxAttempts,
|
maxAttempts: cfg.MaxAttempts,
|
||||||
clock: cfg.C,
|
clock: cfg.C,
|
||||||
baseInterval: cfg.BaseInterval,
|
baseInterval: cfg.BaseInterval,
|
||||||
log: log.New("ngalert.scheduler"),
|
log: cfg.Log,
|
||||||
evaluatorFactory: cfg.EvaluatorFactory,
|
evaluatorFactory: cfg.EvaluatorFactory,
|
||||||
ruleStore: cfg.RuleStore,
|
ruleStore: cfg.RuleStore,
|
||||||
metrics: cfg.Metrics,
|
metrics: cfg.Metrics,
|
||||||
|
@ -22,6 +22,7 @@ import (
|
|||||||
"golang.org/x/sync/errgroup"
|
"golang.org/x/sync/errgroup"
|
||||||
|
|
||||||
"github.com/grafana/grafana/pkg/expr"
|
"github.com/grafana/grafana/pkg/expr"
|
||||||
|
"github.com/grafana/grafana/pkg/infra/log"
|
||||||
"github.com/grafana/grafana/pkg/infra/tracing"
|
"github.com/grafana/grafana/pkg/infra/tracing"
|
||||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
||||||
"github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions"
|
"github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions"
|
||||||
@ -73,6 +74,7 @@ func TestProcessTicks(t *testing.T) {
|
|||||||
Metrics: testMetrics.GetSchedulerMetrics(),
|
Metrics: testMetrics.GetSchedulerMetrics(),
|
||||||
AlertSender: notifier,
|
AlertSender: notifier,
|
||||||
Tracer: testTracer,
|
Tracer: testTracer,
|
||||||
|
Log: log.New("ngalert.scheduler"),
|
||||||
}
|
}
|
||||||
managerCfg := state.ManagerCfg{
|
managerCfg := state.ManagerCfg{
|
||||||
Metrics: testMetrics.GetStateMetrics(),
|
Metrics: testMetrics.GetStateMetrics(),
|
||||||
@ -83,6 +85,7 @@ func TestProcessTicks(t *testing.T) {
|
|||||||
Historian: &state.FakeHistorian{},
|
Historian: &state.FakeHistorian{},
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: testTracer,
|
Tracer: testTracer,
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(managerCfg)
|
st := state.NewManager(managerCfg)
|
||||||
|
|
||||||
@ -888,6 +891,7 @@ func setupScheduler(t *testing.T, rs *fakeRulesStore, is *state.FakeInstanceStor
|
|||||||
Metrics: m.GetSchedulerMetrics(),
|
Metrics: m.GetSchedulerMetrics(),
|
||||||
AlertSender: senderMock,
|
AlertSender: senderMock,
|
||||||
Tracer: testTracer,
|
Tracer: testTracer,
|
||||||
|
Log: log.New("ngalert.scheduler"),
|
||||||
}
|
}
|
||||||
managerCfg := state.ManagerCfg{
|
managerCfg := state.ManagerCfg{
|
||||||
Metrics: m.GetStateMetrics(),
|
Metrics: m.GetStateMetrics(),
|
||||||
@ -898,6 +902,7 @@ func setupScheduler(t *testing.T, rs *fakeRulesStore, is *state.FakeInstanceStor
|
|||||||
Historian: &state.FakeHistorian{},
|
Historian: &state.FakeHistorian{},
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: testTracer,
|
Tracer: testTracer,
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(managerCfg)
|
st := state.NewManager(managerCfg)
|
||||||
|
|
||||||
|
@ -65,13 +65,14 @@ type ManagerCfg struct {
|
|||||||
ApplyNoDataAndErrorToAllStates bool
|
ApplyNoDataAndErrorToAllStates bool
|
||||||
|
|
||||||
Tracer tracing.Tracer
|
Tracer tracing.Tracer
|
||||||
|
Log log.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewManager(cfg ManagerCfg) *Manager {
|
func NewManager(cfg ManagerCfg) *Manager {
|
||||||
return &Manager{
|
return &Manager{
|
||||||
cache: newCache(),
|
cache: newCache(),
|
||||||
ResendDelay: ResendDelay, // TODO: make this configurable
|
ResendDelay: ResendDelay, // TODO: make this configurable
|
||||||
log: log.New("ngalert.state.manager"),
|
log: cfg.Log,
|
||||||
metrics: cfg.Metrics,
|
metrics: cfg.Metrics,
|
||||||
instanceStore: cfg.InstanceStore,
|
instanceStore: cfg.InstanceStore,
|
||||||
images: cfg.Images,
|
images: cfg.Images,
|
||||||
|
@ -9,6 +9,7 @@ import (
|
|||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
"github.com/stretchr/testify/mock"
|
"github.com/stretchr/testify/mock"
|
||||||
|
|
||||||
|
"github.com/grafana/grafana/pkg/infra/log"
|
||||||
"github.com/grafana/grafana/pkg/infra/tracing"
|
"github.com/grafana/grafana/pkg/infra/tracing"
|
||||||
"github.com/grafana/grafana/pkg/services/annotations"
|
"github.com/grafana/grafana/pkg/services/annotations"
|
||||||
"github.com/grafana/grafana/pkg/services/ngalert/eval"
|
"github.com/grafana/grafana/pkg/services/ngalert/eval"
|
||||||
@ -28,6 +29,7 @@ func BenchmarkProcessEvalResults(b *testing.B) {
|
|||||||
Historian: hist,
|
Historian: hist,
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
sut := state.NewManager(cfg)
|
sut := state.NewManager(cfg)
|
||||||
now := time.Now().UTC()
|
now := time.Now().UTC()
|
||||||
|
@ -18,6 +18,7 @@ import (
|
|||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"github.com/grafana/grafana/pkg/expr"
|
"github.com/grafana/grafana/pkg/expr"
|
||||||
|
"github.com/grafana/grafana/pkg/infra/log"
|
||||||
"github.com/grafana/grafana/pkg/infra/log/logtest"
|
"github.com/grafana/grafana/pkg/infra/log/logtest"
|
||||||
"github.com/grafana/grafana/pkg/infra/tracing"
|
"github.com/grafana/grafana/pkg/infra/tracing"
|
||||||
"github.com/grafana/grafana/pkg/services/ngalert/eval"
|
"github.com/grafana/grafana/pkg/services/ngalert/eval"
|
||||||
@ -313,6 +314,7 @@ func TestProcessEvalResults_StateTransitions(t *testing.T) {
|
|||||||
cfg := ManagerCfg{
|
cfg := ManagerCfg{
|
||||||
Metrics: testMetrics,
|
Metrics: testMetrics,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
ExternalURL: nil,
|
ExternalURL: nil,
|
||||||
InstanceStore: &FakeInstanceStore{},
|
InstanceStore: &FakeInstanceStore{},
|
||||||
Images: &NotAvailableImageService{},
|
Images: &NotAvailableImageService{},
|
||||||
|
@ -22,6 +22,7 @@ import (
|
|||||||
"golang.org/x/exp/slices"
|
"golang.org/x/exp/slices"
|
||||||
|
|
||||||
"github.com/grafana/grafana/pkg/expr"
|
"github.com/grafana/grafana/pkg/expr"
|
||||||
|
"github.com/grafana/grafana/pkg/infra/log"
|
||||||
"github.com/grafana/grafana/pkg/infra/tracing"
|
"github.com/grafana/grafana/pkg/infra/tracing"
|
||||||
"github.com/grafana/grafana/pkg/services/annotations"
|
"github.com/grafana/grafana/pkg/services/annotations"
|
||||||
"github.com/grafana/grafana/pkg/services/annotations/annotationstest"
|
"github.com/grafana/grafana/pkg/services/annotations/annotationstest"
|
||||||
@ -202,6 +203,7 @@ func TestWarmStateCache(t *testing.T) {
|
|||||||
Historian: &state.FakeHistorian{},
|
Historian: &state.FakeHistorian{},
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(cfg)
|
st := state.NewManager(cfg)
|
||||||
st.Warm(ctx, dbstore)
|
st.Warm(ctx, dbstore)
|
||||||
@ -239,6 +241,7 @@ func TestDashboardAnnotations(t *testing.T) {
|
|||||||
Historian: hist,
|
Historian: hist,
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(cfg)
|
st := state.NewManager(cfg)
|
||||||
|
|
||||||
@ -1218,6 +1221,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
Historian: hist,
|
Historian: hist,
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(cfg)
|
st := state.NewManager(cfg)
|
||||||
|
|
||||||
@ -1318,6 +1322,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
Historian: &state.FakeHistorian{},
|
Historian: &state.FakeHistorian{},
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(cfg)
|
st := state.NewManager(cfg)
|
||||||
rule := models.AlertRuleGen()()
|
rule := models.AlertRuleGen()()
|
||||||
@ -1469,6 +1474,7 @@ func TestStaleResultsHandler(t *testing.T) {
|
|||||||
Historian: &state.FakeHistorian{},
|
Historian: &state.FakeHistorian{},
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(cfg)
|
st := state.NewManager(cfg)
|
||||||
st.Warm(ctx, dbstore)
|
st.Warm(ctx, dbstore)
|
||||||
@ -1551,6 +1557,7 @@ func TestStaleResults(t *testing.T) {
|
|||||||
Historian: &state.FakeHistorian{},
|
Historian: &state.FakeHistorian{},
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(cfg)
|
st := state.NewManager(cfg)
|
||||||
|
|
||||||
@ -1724,6 +1731,7 @@ func TestDeleteStateByRuleUID(t *testing.T) {
|
|||||||
Historian: &state.FakeHistorian{},
|
Historian: &state.FakeHistorian{},
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(cfg)
|
st := state.NewManager(cfg)
|
||||||
st.Warm(ctx, dbstore)
|
st.Warm(ctx, dbstore)
|
||||||
@ -1865,6 +1873,7 @@ func TestResetStateByRuleUID(t *testing.T) {
|
|||||||
Historian: fakeHistorian,
|
Historian: fakeHistorian,
|
||||||
MaxStateSaveConcurrency: 1,
|
MaxStateSaveConcurrency: 1,
|
||||||
Tracer: tracing.InitializeTracerForTest(),
|
Tracer: tracing.InitializeTracerForTest(),
|
||||||
|
Log: log.New("ngalert.state.manager"),
|
||||||
}
|
}
|
||||||
st := state.NewManager(cfg)
|
st := state.NewManager(cfg)
|
||||||
st.Warm(ctx, dbstore)
|
st.Warm(ctx, dbstore)
|
||||||
|
Loading…
Reference in New Issue
Block a user