Version: v2.25.0-snrc.5 Latest Latest

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

Go to latest
Published: Feb 17, 2021 License: Apache-2.0 Imports: 12 Imported by: 0




This section is empty.


This section is empty.


This section is empty.


type Error

type Error struct {
	Group    string
	Rule     int
	RuleName string
	Err      WrappedError

Error represents semantic errors on parsing rule groups.

func (*Error) Error

func (err *Error) Error() string

type Rule

type Rule struct {
	Record      string            `yaml:"record,omitempty"`
	Alert       string            `yaml:"alert,omitempty"`
	Expr        string            `yaml:"expr"`
	For         model.Duration    `yaml:"for,omitempty"`
	Labels      map[string]string `yaml:"labels,omitempty"`
	Annotations map[string]string `yaml:"annotations,omitempty"`

Rule describes an alerting or recording rule.

type RuleGroup

type RuleGroup struct {
	Name     string         `yaml:"name"`
	Interval model.Duration `yaml:"interval,omitempty"`
	Rules    []RuleNode     `yaml:"rules"`

RuleGroup is a list of sequentially evaluated recording and alerting rules.

type RuleGroups

type RuleGroups struct {
	Groups []RuleGroup `yaml:"groups"`

RuleGroups is a set of rule groups that are typically exposed in a file.

func Parse

func Parse(content []byte) (*RuleGroups, []error)

Parse parses and validates a set of rules.

func ParseFile

func ParseFile(file string) (*RuleGroups, []error)

ParseFile reads and parses rules from a file.

func (*RuleGroups) Validate

func (g *RuleGroups) Validate(node ruleGroups) (errs []error)

Validate validates all rules in the rule groups.

type RuleNode

type RuleNode struct {
	Record      yaml.Node         `yaml:"record,omitempty"`
	Alert       yaml.Node         `yaml:"alert,omitempty"`
	Expr        yaml.Node         `yaml:"expr"`
	For         model.Duration    `yaml:"for,omitempty"`
	Labels      map[string]string `yaml:"labels,omitempty"`
	Annotations map[string]string `yaml:"annotations,omitempty"`

RuleNode adds yaml.v3 layer to support line and column outputs for invalid rules.

func (*RuleNode) Validate

func (r *RuleNode) Validate() (nodes []WrappedError)

Validate the rule and return a list of encountered errors.

type WrappedError

type WrappedError struct {
	// contains filtered or unexported fields

WrappedError wraps error with the yaml node which can be used to represent the line and column numbers of the error.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL