SSE: DSNode to update result with names to make each value identifiable by labels (only Graphite and TestData) (#73642)

* SSE: DSNode to update result with names to make each value identifiable by labels (only Graphite and TestData) (#71246)

* introduce a function checkIfSeriesNeedToBeFixed to scan all value fields in the response and provide a function that updates Series so they can be uniquely identifiable. Only Graphite and TestData are checked.

* update `DSNode.Execute` to run this function and provide it to WideToMany
* update WideToMany to run the fix function if it is not nil
This commit is contained in:
Yuri Tseretyan
2023-08-22 15:02:02 -04:00
committed by GitHub
parent 9a6be573ec
commit fb4796e1e2
5 changed files with 357 additions and 8 deletions
+2 -2
View File
@@ -20,7 +20,7 @@ import (
func TestService(t *testing.T) {
dsDF := data.NewFrame("test",
data.NewField("time", nil, []time.Time{time.Unix(1, 0)}),
data.NewField("value", nil, []*float64{fp(2)}))
data.NewField("value", data.Labels{"test": "label"}, []*float64{fp(2)}))
me := &mockEndpoint{
Frames: []*data.Frame{dsDF},
@@ -65,7 +65,7 @@ func TestService(t *testing.T) {
bDF := data.NewFrame("",
data.NewField("Time", nil, []time.Time{time.Unix(1, 0)}),
data.NewField("B", nil, []*float64{fp(4)}))
data.NewField("B", data.Labels{"test": "label"}, []*float64{fp(4)}))
bDF.RefID = "B"
expect := &backend.QueryDataResponse{