diff --git a/pkg/tsdb/elasticsearch/response_parser.go b/pkg/tsdb/elasticsearch/response_parser.go index bc0825e0ce7..857aa34aa3a 100644 --- a/pkg/tsdb/elasticsearch/response_parser.go +++ b/pkg/tsdb/elasticsearch/response_parser.go @@ -193,7 +193,7 @@ func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query, tags["metric"] = countType frames = append(frames, data.NewFrame(metric.Field, data.NewField("time", nil, timeVector), - data.NewField("value", tags, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: metric.Field}))) + data.NewField("value", tags, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: rp.getMetricName(tags["metric"]) + " " + metric.Field}))) case percentilesType: buckets := esAggBuckets if len(buckets) == 0 { @@ -225,7 +225,7 @@ func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query, } frames = append(frames, data.NewFrame(metric.Field, data.NewField("time", nil, timeVector), - data.NewField("value", tags, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: tags["metric"] + " " + metric.Field}))) + data.NewField("value", tags, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: rp.getMetricName(tags["metric"]) + " " + metric.Field}))) } case topMetricsType: buckets := esAggBuckets @@ -310,7 +310,7 @@ func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query, labels := tags frames = append(frames, data.NewFrame(metric.Field, data.NewField("time", nil, timeVector), - data.NewField("value", labels, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: metric.Field}))) + data.NewField("value", labels, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: rp.getMetricName(tags["metric"]) + " " + metric.Field}))) } default: for k, v := range props { @@ -338,7 +338,7 @@ func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query, } frames = append(frames, data.NewFrame(metric.Field, data.NewField("time", nil, timeVector), - data.NewField("value", tags, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: metric.Field}))) + data.NewField("value", tags, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: rp.getMetricName(tags["metric"]) + " " + metric.Field}))) } } if query.Dataframes != nil { @@ -579,7 +579,7 @@ func (rp *responseParser) getFieldName(dataField data.Field, target *Query, metr } if target.Alias != "" { - seriesName := target.Alias + frameName := target.Alias subMatches := aliasPatternRegex.FindAllStringSubmatch(target.Alias, -1) for _, subMatch := range subMatches { @@ -590,20 +590,20 @@ func (rp *responseParser) getFieldName(dataField data.Field, target *Query, metr } if strings.Index(group, "term ") == 0 { - seriesName = strings.Replace(seriesName, subMatch[0], dataField.Labels[group[5:]], 1) + frameName = strings.Replace(frameName, subMatch[0], dataField.Labels[group[5:]], 1) } if v, ok := dataField.Labels[group]; ok { - seriesName = strings.Replace(seriesName, subMatch[0], v, 1) + frameName = strings.Replace(frameName, subMatch[0], v, 1) } if group == "metric" { - seriesName = strings.Replace(seriesName, subMatch[0], metricName, 1) + frameName = strings.Replace(frameName, subMatch[0], metricName, 1) } if group == "field" { - seriesName = strings.Replace(seriesName, subMatch[0], field, 1) + frameName = strings.Replace(frameName, subMatch[0], field, 1) } } - return seriesName + return frameName } // todo, if field and pipelineAgg if field != "" && isPipelineAgg(metricType) {