alertingcap

package
v0.0.0-...-391d5ce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	InitAlertingServiceCapabilityEx = "InitAlertingServiceCapabilityEx"
)
View Source
const NoLimit = -1

Variables

View Source
var (
	ErrEntityNotFound          = errors.New("entity not found")
	ErrInboundUpdatesQueueFull = errors.New("measures update queue full")
)

Functions

This section is empty.

Types

type Capability

type Capability struct {
	Provider CapabilityEx

	Config *Config
	*logger.Logger
}

func (*Capability) GetAlertingCapabilityEx

func (cap *Capability) GetAlertingCapabilityEx() (capEx CapabilityEx)

func (*Capability) GetConfigValidator

func (cap *Capability) GetConfigValidator() (v validator.Validator)

func (*Capability) GetInitFuncName

func (cap *Capability) GetInitFuncName() (name string)

func (*Capability) InitProvider

func (cap *Capability) InitProvider(sym plugin.Symbol)

type CapabilityEx

type CapabilityEx interface {
	Init(db *bbolt.DB) (err error)

	GetService() (as Service)

	RunRulesTest(ctx context.Context, runData *rundata.RunData, l *logger.Logger) (
		results *rundata.TestResults, errs validations.ErrorList, err error)
}

type Config

type Config struct {
	MaxWorkers    int    `mapstructure:"max_alerting_workers"`
	AlertsLogPath string `mapstructure:"alert_log_path"`
}

type Service

type Service interface {
	Run(ctx context.Context, scriptsDir string, notificationDispatcher notifications.Dispatcher, maxWorkers int)
	Stop() (err error)
	LoadDefaultRuleSet() (err error)

	PutClientUpdate(cl *clientupdates.Client) (err error)
	PutMeasurement(m *measures.Measure) (err error)

	GetAllTemplates() (templateList templates.TemplateList, err error)
	GetTemplate(templateID templates.TemplateID) (template *templates.Template, err error)
	SaveTemplate(template *templates.Template) (errs validations.ErrorList, err error)
	DeleteTemplate(templateID templates.TemplateID) (err error)

	LoadRuleSet(ruleSetID rules.RuleSetID) (rs *rules.RuleSet, err error)
	SaveRuleSet(rs *rules.RuleSet) (errs validations.ErrorList, err error)
	DeleteRuleSet(ruleSetID rules.RuleSetID) (err error)

	GetProblem(pid rules.ProblemID) (problem *rules.Problem, err error)
	GetLatestProblem(rid rules.RuleID, clientID string) (problem *rules.Problem, err error)
	SetProblemActive(pid rules.ProblemID) (err error)
	SetProblemResolved(pid rules.ProblemID, resolvedAt time.Time) (err error)
	GetLatestProblems(limit int) (problems []*rules.Problem, err error)

	GetSampleData(choice string) (sampleData *rundata.SampleData, err error)
}

Directories

Path Synopsis
entities

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL