Просмотр исходного кода

feat(influxdb): add tags to serie names

bergquist 9 лет назад
Родитель
Сommit
87650c150b
2 измененных файлов с 13 добавлено и 3 удалено
  1. 11 1
      pkg/tsdb/influxdb/response_parser.go
  2. 2 2
      pkg/tsdb/influxdb/response_parser_test.go

+ 11 - 1
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 {

+ 2 - 2
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 }")
 		})
 	})
 }