From 20bfe443fe10f4ce4d8a674fa3f4a9b510d0a439 Mon Sep 17 00:00:00 2001 From: bergquist Date: Wed, 19 Oct 2016 08:57:58 +0200 Subject: [PATCH] feat(prometheus): trim labelname lookup key closes #6300 --- pkg/tsdb/prometheus/prometheus.go | 6 ++++-- pkg/tsdb/prometheus/prometheus_test.go | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkg/tsdb/prometheus/prometheus.go b/pkg/tsdb/prometheus/prometheus.go index 85f6b621c1c..6dc4146ad0e 100644 --- a/pkg/tsdb/prometheus/prometheus.go +++ b/pkg/tsdb/prometheus/prometheus.go @@ -84,8 +84,10 @@ func formatLegend(metric pmodel.Metric, query *PrometheusQuery) string { reg, _ := regexp.Compile(`\{\{\s*(.+?)\s*\}\}`) result := reg.ReplaceAllFunc([]byte(query.LegendFormat), func(in []byte) []byte { - ind := strings.Replace(strings.Replace(string(in), "{{", "", 1), "}}", "", 1) - if val, exists := metric[pmodel.LabelName(ind)]; exists { + labelName := strings.Replace(string(in), "{{", "", 1) + labelName = strings.Replace(labelName, "}}", "", 1) + labelName = strings.TrimSpace(labelName) + if val, exists := metric[pmodel.LabelName(labelName)]; exists { return []byte(val) } diff --git a/pkg/tsdb/prometheus/prometheus_test.go b/pkg/tsdb/prometheus/prometheus_test.go index f7489ae9afc..a4c38cae582 100644 --- a/pkg/tsdb/prometheus/prometheus_test.go +++ b/pkg/tsdb/prometheus/prometheus_test.go @@ -17,7 +17,7 @@ func TestPrometheus(t *testing.T) { } query := &PrometheusQuery{ - LegendFormat: "legend {{app}} {{device}} {{broken}}", + LegendFormat: "legend {{app}} {{ device }} {{broken}}", } So(formatLegend(metric, query), ShouldEqual, "legend backend mobile {{broken}}")