From adf225d0b36cf3b4a6df278b5e7e9010e663d8a0 Mon Sep 17 00:00:00 2001 From: huanggze Date: Wed, 26 Jun 2019 18:03:10 +0800 Subject: [PATCH] fix: fill empty metrics data with zeros Signed-off-by: huanggze --- pkg/models/metrics/metricsruleconst.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/models/metrics/metricsruleconst.go b/pkg/models/metrics/metricsruleconst.go index 45f46d77c..4be60151a 100644 --- a/pkg/models/metrics/metricsruleconst.go +++ b/pkg/models/metrics/metricsruleconst.go @@ -13,6 +13,10 @@ limitations under the License. package metrics +import ( + "fmt" +) + const ( ResultTypeVector = "vector" ResultTypeMatrix = "matrix" @@ -731,3 +735,11 @@ var RulePromQLTmplMap = MetricMap{ "prometheus_up_sum": `prometheus:up:sum`, "prometheus_tsdb_head_samples_appended_rate": `prometheus:prometheus_tsdb_head_samples_appended:sum_rate`, } + +func init() { + for metric, promql := range RulePromQLTmplMap { + + // Use absent() to fill missing data with zero + RulePromQLTmplMap[metric] = fmt.Sprintf("%s or absent(%s)-1", promql, promql) + } +}