From 05f7ae6c69c4f4959a9e5df75d7499baca6e779d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Farkas?= Date: Tue, 11 Apr 2023 12:58:55 +0200 Subject: [PATCH] prometheus: slightly different approach for dataplane compatibility (#65993) --- pkg/tsdb/prometheus/querydata/response.go | 20 +++++++++++++++----- pkg/util/converter/prom.go | 10 ---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/pkg/tsdb/prometheus/querydata/response.go b/pkg/tsdb/prometheus/querydata/response.go index 63211a227d5..4c4b2ff026a 100644 --- a/pkg/tsdb/prometheus/querydata/response.go +++ b/pkg/tsdb/prometheus/querydata/response.go @@ -41,7 +41,7 @@ func (s *QueryData) parseResponse(ctx context.Context, q *models.Query, res *htt if s.enableWideSeries { addMetadataToWideFrame(q, frame) } else { - addMetadataToMultiFrame(q, frame) + addMetadataToMultiFrame(q, frame, s.enableDataplane) } } @@ -102,7 +102,7 @@ func (s *QueryData) processExemplars(q *models.Query, dr backend.DataResponse) b } } -func addMetadataToMultiFrame(q *models.Query, frame *data.Frame) { +func addMetadataToMultiFrame(q *models.Query, frame *data.Frame, enableDataplane bool) { if frame.Meta == nil { frame.Meta = &data.FrameMeta{} } @@ -110,10 +110,20 @@ func addMetadataToMultiFrame(q *models.Query, frame *data.Frame) { if len(frame.Fields) < 2 { return } - frame.Name = getName(q, frame.Fields[1]) frame.Fields[0].Config = &data.FieldConfig{Interval: float64(q.Step.Milliseconds())} - if frame.Name != "" { - frame.Fields[1].Config = &data.FieldConfig{DisplayNameFromDS: frame.Name} + + customName := getName(q, frame.Fields[1]) + if customName != "" { + frame.Fields[1].Config = &data.FieldConfig{DisplayNameFromDS: customName} + } + + if enableDataplane { + valueField := frame.Fields[1] + if n, ok := valueField.Labels["__name__"]; ok { + valueField.Name = n + } + } else { + frame.Name = customName } } diff --git a/pkg/util/converter/prom.go b/pkg/util/converter/prom.go index 702f12c0ffb..a771a9336e4 100644 --- a/pkg/util/converter/prom.go +++ b/pkg/util/converter/prom.go @@ -400,11 +400,6 @@ func readMatrixOrVectorWide(iter *jsoniter.Iterator, resultType string, opt Opti switch l1Field { case "metric": iter.ReadVal(&valueField.Labels) - if opt.Dataplane { - if n, ok := valueField.Labels["__name__"]; ok { - valueField.Name = n - } - } case "value": timeMap, rowIdx = addValuePairToFrame(frame, timeMap, rowIdx, iter) @@ -503,11 +498,6 @@ func readMatrixOrVectorMulti(iter *jsoniter.Iterator, resultType string, opt Opt switch l1Field { case "metric": iter.ReadVal(&valueField.Labels) - if opt.Dataplane { - if n, ok := valueField.Labels["__name__"]; ok { - valueField.Name = n - } - } case "value": t, v, err := readTimeValuePair(iter)