parser

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReadContent

func ReadContent(r io.Reader) (out []byte, err error)

Types

type AlertingRule

type AlertingRule struct {
	Alert       YamlKeyValue
	Expr        PromQLExpr
	For         *YamlKeyValue
	Labels      *YamlMap
	Annotations *YamlMap
}

func (AlertingRule) Comments

func (ar AlertingRule) Comments() (comments []string)

func (AlertingRule) Lines

func (ar AlertingRule) Lines() (lines []int)

type FilePosition

type FilePosition struct {
	Lines []int
}

func NewFilePosition

func NewFilePosition(l []int) FilePosition

func (FilePosition) FirstLine

func (fp FilePosition) FirstLine() (line int)

func (FilePosition) LastLine

func (fp FilePosition) LastLine() (line int)

type ParseError

type ParseError struct {
	Fragment string
	Err      error
	Line     int
}

type Parser

type Parser struct{}

func NewParser

func NewParser() Parser

func (Parser) Parse

func (p Parser) Parse(content []byte) (rules []Rule, err error)

type PromQLError

type PromQLError struct {
	Err error
	// contains filtered or unexported fields
}

func (PromQLError) Error

func (pqle PromQLError) Error() string

func (PromQLError) Node

func (pqle PromQLError) Node() *PromQLNode

func (*PromQLError) Unwrap

func (pqle *PromQLError) Unwrap() error

type PromQLExpr

type PromQLExpr struct {
	Key         *YamlNode
	Value       *YamlNode
	SyntaxError error
	Query       *PromQLNode
}

func (PromQLExpr) Lines

func (pqle PromQLExpr) Lines() (lines []int)

type PromQLNode

type PromQLNode struct {
	Expr     string
	Node     promparser.Expr
	Children []*PromQLNode
}

func DecodeExpr added in v0.2.0

func DecodeExpr(expr string) (*PromQLNode, error)

type RecordingRule

type RecordingRule struct {
	Record YamlKeyValue
	Expr   PromQLExpr
	Labels *YamlMap
}

func (RecordingRule) Comments

func (rr RecordingRule) Comments() (comments []string)

func (RecordingRule) Lines

func (rr RecordingRule) Lines() (lines []int)

type Result

type Result struct {
	Path    string
	Error   error
	Content []byte
	Rules   []Rule
}

type Rule

type Rule struct {
	AlertingRule  *AlertingRule
	RecordingRule *RecordingRule
	Error         ParseError
}

func (Rule) Expr

func (r Rule) Expr() PromQLExpr

func (Rule) HasComment

func (r Rule) HasComment(comment string) bool

func (Rule) Lines

func (r Rule) Lines() []int

type YamlKeyValue

type YamlKeyValue struct {
	Key   *YamlNode
	Value *YamlNode
}

func (YamlKeyValue) Lines

func (ykv YamlKeyValue) Lines() (lines []int)

type YamlMap

type YamlMap struct {
	Key   *YamlNode
	Items []*YamlKeyValue
}

func (YamlMap) GetValue

func (ym YamlMap) GetValue(key string) *YamlNode

func (YamlMap) Lines

func (ym YamlMap) Lines() (lines []int)

type YamlNode

type YamlNode struct {
	Position FilePosition
	Value    string
	Comments []string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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