Notifications: InfluxDB - Fix regex to include metrics with hyphen in aliases (#32224) (#32262)

* Notifications: InfluxDB - fix regex to include metrics with hyphen

* Add hyphen check in tests

(cherry picked from commit fdaac2b8fb)
This commit is contained in:
Grot (@grafanabot)
2021-03-23 15:51:49 +01:00
committed by GitHub
parent 47c10bab65
commit 80a4d4296c
2 changed files with 9 additions and 2 deletions
+1 -2
View File
@@ -18,7 +18,7 @@ var (
)
func init() {
legendFormat = regexp.MustCompile(`\[\[(\w+)(\.\w+)*\]\]*|\$\s*(\w+?)*`)
legendFormat = regexp.MustCompile(`\[\[([\w-]+)(\.[\w-]+)*\]\]*|\$\s*([\w-]+?)*`)
}
func (rp *ResponseParser) Parse(response *Response, query *Query) *tsdb.QueryResult {
@@ -64,7 +64,6 @@ func (rp *ResponseParser) formatSeriesName(row Row, column string, query *Query)
if query.Alias == "" {
return rp.buildSeriesNameFromQuery(row, column)
}
nameSegment := strings.Split(row.Name, ".")
result := legendFormat.ReplaceAllFunc([]byte(query.Alias), func(in []byte) []byte {
@@ -80,6 +80,7 @@ func TestInfluxdbResponseParser(t *testing.T) {
Tags: map[string]string{
"datacenter": "America",
"dc.region.name": "Northeast",
"cluster-name": "Cluster",
},
Values: [][]interface{}{
{json.Number("111"), json.Number("222"), json.Number("333")},
@@ -171,6 +172,13 @@ func TestInfluxdbResponseParser(t *testing.T) {
So(result.Series[0].Name, ShouldEqual, "alias Northeast")
})
Convey("tag alias with hyphens", func() {
query := &Query{Alias: "alias [[tag_cluster-name]]"}
result := parser.Parse(response, query)
So(result.Series[0].Name, ShouldEqual, "alias Cluster")
})
})
})