Documentation
¶
Index ¶
- func CollectMetricData(agg interface{}, groupValues string, metricData *[]alerting.MetricData)
- type BucketDiffState
- type Engine
- func (engine *Engine) CheckBucketCondition(rule *alerting.Rule, targetMetricData []alerting.MetricData, ...) (*alerting.ConditionResult, error)
- func (engine *Engine) CheckCondition(rule *alerting.Rule) (*alerting.ConditionResult, error)
- func (engine *Engine) ConvertFilterQueryToDsl(fq *alerting.FilterQuery) (map[string]interface{}, error)
- func (engine *Engine) Do(rule *alerting.Rule) error
- func (engine *Engine) ExecuteQuery(rule *alerting.Rule, filterParam *alerting.FilterParam) (*alerting.QueryResult, error)
- func (engine *Engine) GenerateQuery(rule *alerting.Rule, filterParam *alerting.FilterParam) (interface{}, error)
- func (engine *Engine) GenerateRawFilter(rule *alerting.Rule, filterParam *alerting.FilterParam) (map[string]interface{}, error)
- func (engine *Engine) GenerateTask(rule alerting.Rule) func(ctx context.Context)
- func (engine *Engine) GetTargetMetricData(rule *alerting.Rule, isFilterNaN bool, filterParam *alerting.FilterParam) ([]alerting.MetricData, *alerting.QueryResult, error)
- func (engine *Engine) Test(rule *alerting.Rule, msgType string) ([]alerting.ActionExecutionResult, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CollectMetricData ¶
func CollectMetricData(agg interface{}, groupValues string, metricData *[]alerting.MetricData)
Types ¶
type BucketDiffState ¶ added in v1.28.2
type Engine ¶
type Engine struct {
}
func (*Engine) CheckBucketCondition ¶ added in v1.28.2
func (engine *Engine) CheckBucketCondition(rule *alerting.Rule, targetMetricData []alerting.MetricData, queryResult *alerting.QueryResult) (*alerting.ConditionResult, error)
func (*Engine) CheckCondition ¶
CheckCondition check whether rule conditions triggered or not if triggered returns an ConditionResult sort conditions by priority desc before check , and then if condition is true, then continue check another group
func (*Engine) ConvertFilterQueryToDsl ¶
func (engine *Engine) ConvertFilterQueryToDsl(fq *alerting.FilterQuery) (map[string]interface{}, error)
func (*Engine) ExecuteQuery ¶
func (engine *Engine) ExecuteQuery(rule *alerting.Rule, filterParam *alerting.FilterParam) (*alerting.QueryResult, error)
func (*Engine) GenerateQuery ¶
func (engine *Engine) GenerateQuery(rule *alerting.Rule, filterParam *alerting.FilterParam) (interface{}, error)
GenerateQuery generate a final elasticsearch query dsl object when RawFilter of rule is not empty, priority use it, otherwise to covert from Filter of rule (todo) auto generate time filter query and then attach to final query auto generate elasticsearch aggregations by metrics of rule group of metric item converted to terms aggregation and TimeField of rule converted to date_histogram aggregation convert statistic of metric item to elasticsearch aggregation
func (*Engine) GenerateRawFilter ¶
func (*Engine) GenerateTask ¶
func (*Engine) GetTargetMetricData ¶
func (engine *Engine) GetTargetMetricData(rule *alerting.Rule, isFilterNaN bool, filterParam *alerting.FilterParam) ([]alerting.MetricData, *alerting.QueryResult, error)