Documentation
¶
Index ¶
- type AlertValidation
- type DefaultMetricsGetter
- func (dmg *DefaultMetricsGetter) AddLabelFilter(labelsKeyValue ...string)
- func (dmg *DefaultMetricsGetter) AddNameFilter(name string)
- func (dmg *DefaultMetricsGetter) AddTimestampAfterFilter(ts time.Time)
- func (dmg *DefaultMetricsGetter) AddTimestampBeforeFilter(ts time.Time)
- func (dmg *DefaultMetricsGetter) LoadMetrics(payload string) (map[string][]MetricResult, error)
- func (dmg *DefaultMetricsGetter) Run() (map[string][]MetricResult, error)
- type Linter
- func (linter *Linter) AddCustomAlertValidations(validations ...AlertValidation)
- func (linter *Linter) AddCustomRecordRuleValidations(validations ...RecordRuleValidation)
- func (linter *Linter) LintAlert(alert *promv1.Rule) []Problem
- func (linter *Linter) LintAlerts(alerts []promv1.Rule) []Problem
- func (linter *Linter) LintRecordingRule(recordingRule *operatorrules.RecordingRule) []Problem
- func (linter *Linter) LintRecordingRules(recordingRules []operatorrules.RecordingRule) []Problem
- type MetricResult
- type MetricsFetcher
- type Problem
- func ValidateAlertHasDescriptionAnnotation(alert *promv1.Rule) []Problem
- func ValidateAlertHealthImpactLabel(alert *promv1.Rule) []Problem
- func ValidateAlertNameLength(alert *promv1.Rule) []Problem
- func ValidateAlertPartOfAndComponentLabels(alert *promv1.Rule) []Problem
- func ValidateAlertRunbookURLAnnotation(alert *promv1.Rule) []Problem
- type RecordRuleValidation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlertValidation ¶
type DefaultMetricsGetter ¶
type DefaultMetricsGetter struct { URL string // contains filtered or unexported fields }
DefaultMetricsGetter is the default implementation of MetricsFetcher.
func (*DefaultMetricsGetter) AddLabelFilter ¶
func (dmg *DefaultMetricsGetter) AddLabelFilter(labelsKeyValue ...string)
func (*DefaultMetricsGetter) AddNameFilter ¶
func (dmg *DefaultMetricsGetter) AddNameFilter(name string)
func (*DefaultMetricsGetter) AddTimestampAfterFilter ¶
func (dmg *DefaultMetricsGetter) AddTimestampAfterFilter(ts time.Time)
func (*DefaultMetricsGetter) AddTimestampBeforeFilter ¶
func (dmg *DefaultMetricsGetter) AddTimestampBeforeFilter(ts time.Time)
func (*DefaultMetricsGetter) LoadMetrics ¶
func (dmg *DefaultMetricsGetter) LoadMetrics(payload string) (map[string][]MetricResult, error)
LoadMetrics parses a provided metrics payload string and applies filters.
func (*DefaultMetricsGetter) Run ¶
func (dmg *DefaultMetricsGetter) Run() (map[string][]MetricResult, error)
Run fetches metrics via HTTP, parses them, and applies filters.
type Linter ¶
type Linter struct {
// contains filtered or unexported fields
}
func (*Linter) AddCustomAlertValidations ¶
func (linter *Linter) AddCustomAlertValidations(validations ...AlertValidation)
func (*Linter) AddCustomRecordRuleValidations ¶
func (linter *Linter) AddCustomRecordRuleValidations(validations ...RecordRuleValidation)
func (*Linter) LintRecordingRule ¶
func (linter *Linter) LintRecordingRule(recordingRule *operatorrules.RecordingRule) []Problem
func (*Linter) LintRecordingRules ¶
func (linter *Linter) LintRecordingRules(recordingRules []operatorrules.RecordingRule) []Problem
type MetricResult ¶
type MetricResult struct { Name string `json:"name"` Labels map[string]string `json:"labels"` Value float64 `json:"value"` Timestamp *time.Time `json:"timestamp,omitempty"` }
MetricResult represents a single metric.
type MetricsFetcher ¶
type MetricsFetcher interface { AddNameFilter(name string) AddLabelFilter(labelsKeyValue ...string) AddTimestampAfterFilter(ts time.Time) AddTimestampBeforeFilter(ts time.Time) Run() (map[string][]MetricResult, error) LoadMetrics(payload string) (map[string][]MetricResult, error) }
MetricsFetcher defines the interface for fetching and loading metrics.
func NewMetricsFetcher ¶
func NewMetricsFetcher(URL string) MetricsFetcher
NewMetricsFetcher creates a new MetricsFetcher instance.
type Problem ¶
type Problem struct { // The name of the Metric, Recording Rule, or Alert indicated by the Problem ResourceName string // The description of the problem found Description string }
func ValidateAlertNameLength ¶
type RecordRuleValidation ¶
type RecordRuleValidation = func(rr *operatorrules.RecordingRule) []Problem
Click to show internal directories.
Click to hide internal directories.