AlertingNG: manage and evaluate alert definitions via the API (#28377)
* Alerting NG: prototype v2 (WIP) * Separate eval package * Modify eval alert definition endpoint * Disable migration if ngalert is not enabled * Remove premature test * Fix lint issues * Delete obsolete struct * Apply suggestions from code review * Update pkg/services/ngalert/ngalert.go Co-authored-by: Kyle Brandt <kyle@grafana.com> * Add API endpoint for listing alert definitions * Introduce index for alert_definition table * make ds object for expression to avoid panic * wrap error * Update pkg/services/ngalert/eval/eval.go * Swith to backend.DataQuery * Export TransformWrapper callback * Fix lint issues * Update pkg/services/ngalert/ngalert.go Co-authored-by: Kyle Brandt <kyle@grafana.com> * Validate alert definitions before storing them * Introduce AlertQuery * Add test * Add QueryType in AlertQuery * Accept only float64 (seconds) durations * Apply suggestions from code review * Get rid of bus * Do not export symbols * Fix failing test * Fix failure due to service initialization order Introduce MediumHigh service priority and assign it to backendplugin service * Fix test * Apply suggestions from code review * Fix renamed reference Co-authored-by: Kyle Brandt <kyle@grafana.com>
This commit is contained in:
co-authored by
Kyle Brandt
parent
a1e80af800
commit
43f580c299
@@ -16,6 +16,14 @@ type Descriptor struct {
|
||||
|
||||
var services []*Descriptor
|
||||
|
||||
func RegisterServiceWithPriority(instance Service, priority Priority) {
|
||||
services = append(services, &Descriptor{
|
||||
Name: reflect.TypeOf(instance).Elem().Name(),
|
||||
Instance: instance,
|
||||
InitPriority: priority,
|
||||
})
|
||||
}
|
||||
|
||||
func RegisterService(instance Service) {
|
||||
services = append(services, &Descriptor{
|
||||
Name: reflect.TypeOf(instance).Elem().Name(),
|
||||
@@ -111,7 +119,8 @@ func IsDisabled(srv Service) bool {
|
||||
type Priority int
|
||||
|
||||
const (
|
||||
High Priority = 100
|
||||
Medium Priority = 50
|
||||
Low Priority = 0
|
||||
High Priority = 100
|
||||
MediumHigh Priority = 75
|
||||
Medium Priority = 50
|
||||
Low Priority = 0
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user