interfaces.go 445 B

123456789101112131415161718192021222324252627
  1. package alerting
  2. import (
  3. "time"
  4. "github.com/grafana/grafana/pkg/models"
  5. )
  6. type EvalHandler interface {
  7. Eval(context *EvalContext)
  8. }
  9. type Scheduler interface {
  10. Tick(time time.Time, execQueue chan *Job)
  11. Update(rules []*Rule)
  12. }
  13. type Notifier interface {
  14. Notify(alertResult *EvalContext)
  15. GetType() string
  16. NeedsImage() bool
  17. MatchSeverity(result models.AlertSeverityType) bool
  18. }
  19. type Condition interface {
  20. Eval(result *EvalContext)
  21. }