Add comments

This commit is contained in:
Holger Obermaier 2022-02-15 12:39:54 +01:00
parent 2031f35d9b
commit a8821b7ac5

View File

@ -159,12 +159,13 @@ func getParamMap(point lp.CCMetric) map[string]interface{} {
// DoAddTags adds a tag when condition is fullfiled // DoAddTags adds a tag when condition is fullfiled
func (r *metricRouter) DoAddTags(point lp.CCMetric) { func (r *metricRouter) DoAddTags(point lp.CCMetric) {
var conditionMatches bool
for _, m := range r.config.AddTags { for _, m := range r.config.AddTags {
var conditionMatches bool = false
if m.Condition == "*" { if m.Condition == "*" {
// Condition is always matched
conditionMatches = true conditionMatches = true
} else { } else {
// Evaluate condition
var err error var err error
conditionMatches, err = agg.EvalBoolCondition(m.Condition, getParamMap(point)) conditionMatches, err = agg.EvalBoolCondition(m.Condition, getParamMap(point))
if err != nil { if err != nil {
@ -180,12 +181,13 @@ func (r *metricRouter) DoAddTags(point lp.CCMetric) {
// DoDelTags removes a tag when condition is fullfiled // DoDelTags removes a tag when condition is fullfiled
func (r *metricRouter) DoDelTags(point lp.CCMetric) { func (r *metricRouter) DoDelTags(point lp.CCMetric) {
var conditionMatches bool
for _, m := range r.config.DelTags { for _, m := range r.config.DelTags {
var conditionMatches bool = false
if m.Condition == "*" { if m.Condition == "*" {
// Condition is always matched
conditionMatches = true conditionMatches = true
} else { } else {
// Evaluate condition
var err error var err error
conditionMatches, err = agg.EvalBoolCondition(m.Condition, getParamMap(point)) conditionMatches, err = agg.EvalBoolCondition(m.Condition, getParamMap(point))
if err != nil { if err != nil {
@ -202,16 +204,23 @@ func (r *metricRouter) DoDelTags(point lp.CCMetric) {
// Conditional test whether a metric should be dropped // Conditional test whether a metric should be dropped
func (r *metricRouter) dropMetric(point lp.CCMetric) bool { func (r *metricRouter) dropMetric(point lp.CCMetric) bool {
// Simple drop check // Simple drop check
if _, ok := r.config.dropMetrics[point.Name()]; ok { if conditionMatches, ok := r.config.dropMetrics[point.Name()]; ok {
return true return conditionMatches
} }
// Checking the dropping conditions // Checking the dropping conditions
for _, m := range r.config.DropMetricsIf { for _, m := range r.config.DropMetricsIf {
conditionMatches, err := agg.EvalBoolCondition(m, getParamMap(point)) conditionMatches, err := agg.EvalBoolCondition(m, getParamMap(point))
if conditionMatches || err != nil { if err != nil {
return true cclog.ComponentError("MetricRouter", err.Error())
conditionMatches = false
}
if conditionMatches {
return conditionMatches
} }
} }
// No dropping condition met
return false return false
} }