diff --git a/pkg/tsdb/influxdb/response_parser.go b/pkg/tsdb/influxdb/response_parser.go index 25da1fcebb3..0d7d8d049e3 100644 --- a/pkg/tsdb/influxdb/response_parser.go +++ b/pkg/tsdb/influxdb/response_parser.go @@ -45,7 +45,17 @@ func (rp *ResponseParser) parseResult(result []Row, queryResult *tsdb.QueryResul } func (rp *ResponseParser) formatName(row Row, column string) string { - return fmt.Sprintf("%s.%s", row.Name, column) + tags := "" + + for k, v := range row.Tags { + tags += k + ": " + v + } + + if tags != "" { + tags = fmt.Sprintf(" { %s }", tags) + } + + return fmt.Sprintf("%s.%s%s", row.Name, column, tags) } func (rp *ResponseParser) parseTimepoint(k []interface{}, valuePosition int) tsdb.TimePoint { diff --git a/pkg/tsdb/influxdb/response_parser_test.go b/pkg/tsdb/influxdb/response_parser_test.go index 635bd2c3b20..b45f98a1fff 100644 --- a/pkg/tsdb/influxdb/response_parser_test.go +++ b/pkg/tsdb/influxdb/response_parser_test.go @@ -52,8 +52,8 @@ func TestInfluxdbResponseParser(t *testing.T) { }) Convey("can format serie names", func() { - So(result.Series[0].Name, ShouldEqual, "cpu.mean") - So(result.Series[1].Name, ShouldEqual, "cpu.sum") + So(result.Series[0].Name, ShouldEqual, "cpu.mean { datacenter: America }") + So(result.Series[1].Name, ShouldEqual, "cpu.sum { datacenter: America }") }) }) }