Graphite: Add frame type to work with SQL expressions (#103019)
- Add frame type So SQL expressions knows how to convert it - No FrameType version so how other expressions do not change how they handle it, and continue to catch the special graphite handling in SSE convert
This commit is contained in:
@@ -315,7 +315,8 @@ func (s *Service) toDataFrames(logger log.Logger, response *http.Response, origR
|
||||
|
||||
frames = append(frames, data.NewFrame(refId,
|
||||
data.NewField("time", nil, timeVector),
|
||||
data.NewField("value", tags, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: target})))
|
||||
data.NewField("value", tags, values).SetConfig(&data.FieldConfig{DisplayNameFromDS: target})).SetMeta(
|
||||
&data.FrameMeta{Type: data.FrameTypeTimeSeriesMulti}))
|
||||
|
||||
if setting.Env == setting.Dev {
|
||||
logger.Debug("Graphite response", "target", series.Target, "datapoints", len(series.DataPoints))
|
||||
|
||||
@@ -226,7 +226,7 @@ func TestConvertResponses(t *testing.T) {
|
||||
expectedFrame := data.NewFrame("A",
|
||||
data.NewField("time", nil, []time.Time{time.Unix(1, 0).UTC(), time.Unix(2, 0).UTC(), time.Unix(3, 0).UTC()}),
|
||||
data.NewField("value", data.Labels{}, []*float64{&a, nil, &b}).SetConfig(&data.FieldConfig{DisplayNameFromDS: "target"}),
|
||||
)
|
||||
).SetMeta(&data.FrameMeta{Type: data.FrameTypeTimeSeriesMulti})
|
||||
expectedFrames := data.Frames{expectedFrame}
|
||||
|
||||
httpResponse := &http.Response{StatusCode: 200, Body: io.NopCloser(strings.NewReader(body))}
|
||||
@@ -259,7 +259,7 @@ func TestConvertResponses(t *testing.T) {
|
||||
"int": "100",
|
||||
"float": "3.14",
|
||||
}, []*float64{&a, nil, &b}).SetConfig(&data.FieldConfig{DisplayNameFromDS: "target"}),
|
||||
)
|
||||
).SetMeta(&data.FrameMeta{Type: data.FrameTypeTimeSeriesMulti})
|
||||
expectedFrames := data.Frames{expectedFrame}
|
||||
|
||||
httpResponse := &http.Response{StatusCode: 200, Body: io.NopCloser(strings.NewReader(body))}
|
||||
@@ -290,11 +290,11 @@ func TestConvertResponses(t *testing.T) {
|
||||
expectedFrameA := data.NewFrame("A",
|
||||
data.NewField("time", nil, []time.Time{time.Unix(1, 0).UTC(), time.Unix(2, 0).UTC(), time.Unix(3, 0).UTC()}),
|
||||
data.NewField("value", data.Labels{}, []*float64{&a, nil, &b}).SetConfig(&data.FieldConfig{DisplayNameFromDS: "target 1"}),
|
||||
)
|
||||
).SetMeta(&data.FrameMeta{Type: data.FrameTypeTimeSeriesMulti})
|
||||
expectedFrameB := data.NewFrame("B",
|
||||
data.NewField("time", nil, []time.Time{time.Unix(1, 0).UTC(), time.Unix(2, 0).UTC(), time.Unix(3, 0).UTC()}),
|
||||
data.NewField("value", data.Labels{}, []*float64{&a, nil, &b}).SetConfig(&data.FieldConfig{DisplayNameFromDS: "target 2"}),
|
||||
)
|
||||
).SetMeta(&data.FrameMeta{Type: data.FrameTypeTimeSeriesMulti})
|
||||
expectedFrames := data.Frames{expectedFrameA, expectedFrameB}
|
||||
|
||||
httpResponse := &http.Response{StatusCode: 200, Body: io.NopCloser(strings.NewReader(body))}
|
||||
@@ -321,7 +321,7 @@ func TestConvertResponses(t *testing.T) {
|
||||
expectedFrame := data.NewFrame("A A",
|
||||
data.NewField("time", nil, []time.Time{time.Unix(1, 0).UTC(), time.Unix(2, 0).UTC(), time.Unix(3, 0).UTC()}),
|
||||
data.NewField("value", data.Labels{}, []*float64{&a, nil, &b}).SetConfig(&data.FieldConfig{DisplayNameFromDS: "target"}),
|
||||
)
|
||||
).SetMeta(&data.FrameMeta{Type: data.FrameTypeTimeSeriesMulti})
|
||||
expectedFrames := data.Frames{expectedFrame}
|
||||
|
||||
httpResponse := &http.Response{StatusCode: 200, Body: io.NopCloser(strings.NewReader(body))}
|
||||
|
||||
Reference in New Issue
Block a user