mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
prometheus: slightly different approach for dataplane compatibility (#65993)
This commit is contained in:
parent
c178cbc4dc
commit
05f7ae6c69
@ -41,7 +41,7 @@ func (s *QueryData) parseResponse(ctx context.Context, q *models.Query, res *htt
|
|||||||
if s.enableWideSeries {
|
if s.enableWideSeries {
|
||||||
addMetadataToWideFrame(q, frame)
|
addMetadataToWideFrame(q, frame)
|
||||||
} else {
|
} 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 {
|
if frame.Meta == nil {
|
||||||
frame.Meta = &data.FrameMeta{}
|
frame.Meta = &data.FrameMeta{}
|
||||||
}
|
}
|
||||||
@ -110,10 +110,20 @@ func addMetadataToMultiFrame(q *models.Query, frame *data.Frame) {
|
|||||||
if len(frame.Fields) < 2 {
|
if len(frame.Fields) < 2 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
frame.Name = getName(q, frame.Fields[1])
|
|
||||||
frame.Fields[0].Config = &data.FieldConfig{Interval: float64(q.Step.Milliseconds())}
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -400,11 +400,6 @@ func readMatrixOrVectorWide(iter *jsoniter.Iterator, resultType string, opt Opti
|
|||||||
switch l1Field {
|
switch l1Field {
|
||||||
case "metric":
|
case "metric":
|
||||||
iter.ReadVal(&valueField.Labels)
|
iter.ReadVal(&valueField.Labels)
|
||||||
if opt.Dataplane {
|
|
||||||
if n, ok := valueField.Labels["__name__"]; ok {
|
|
||||||
valueField.Name = n
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
case "value":
|
case "value":
|
||||||
timeMap, rowIdx = addValuePairToFrame(frame, timeMap, rowIdx, iter)
|
timeMap, rowIdx = addValuePairToFrame(frame, timeMap, rowIdx, iter)
|
||||||
@ -503,11 +498,6 @@ func readMatrixOrVectorMulti(iter *jsoniter.Iterator, resultType string, opt Opt
|
|||||||
switch l1Field {
|
switch l1Field {
|
||||||
case "metric":
|
case "metric":
|
||||||
iter.ReadVal(&valueField.Labels)
|
iter.ReadVal(&valueField.Labels)
|
||||||
if opt.Dataplane {
|
|
||||||
if n, ok := valueField.Labels["__name__"]; ok {
|
|
||||||
valueField.Name = n
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
case "value":
|
case "value":
|
||||||
t, v, err := readTimeValuePair(iter)
|
t, v, err := readTimeValuePair(iter)
|
||||||
|
Loading…
Reference in New Issue
Block a user