[v10.3.x] Elasticsearch: Fix creating of legend so it is backward compatible with frontend produced frames (#81786)

Elasticsearch: Fix creating of legend so it is backward compatible with frontend produced frames (#81708)

* Elasticsearch: Fix creating of legend so it is backward compatible with frontend produced frames

* Update tests

(cherry picked from commit f2936d6695)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
This commit is contained in:
grafana-delivery-bot[bot]
2024-02-02 14:00:39 +02:00
committed by GitHub
co-authored by Ivana Huckova
parent 069704b39a
commit f0778dd147
11 changed files with 132 additions and 215 deletions
+4 -4
View File
@@ -907,10 +907,10 @@ func nameFields(queryResult backend.DataResponse, target *Query) {
// another is "number"
valueField := frame.Fields[1]
fieldName := getFieldName(*valueField, target, metricTypeCount)
if valueField.Config == nil {
valueField.Config = &data.FieldConfig{}
}
valueField.Config.DisplayNameFromDS = fieldName
// We need to remove labels so they are not added to legend as duplicates
// ensures backward compatibility with "frontend" version of the plugin
valueField.Labels = nil
frame.Name = fieldName
}
}
}
+32 -43
View File
@@ -1011,7 +1011,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "p75")
assert.Equal(t, frame.Name, "p75")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -1019,7 +1019,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "p90")
assert.Equal(t, frame.Name, "p90")
})
})
@@ -1478,7 +1478,7 @@ func TestProcessBuckets(t *testing.T) {
assert.Len(t, frame.Fields, 2)
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Top Metrics @value")
assert.Equal(t, frame.Name, "Top Metrics @value")
v, _ := frame.FloatAt(0, 0)
assert.Equal(t, 1609459200000., v)
v, _ = frame.FloatAt(1, 0)
@@ -1495,7 +1495,7 @@ func TestProcessBuckets(t *testing.T) {
assert.Len(t, frame.Fields, 2)
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Top Metrics @anotherValue")
assert.Equal(t, frame.Name, "Top Metrics @anotherValue")
v, _ = frame.FloatAt(0, 0)
assert.Equal(t, 1609459200000., v)
v, _ = frame.FloatAt(1, 0)
@@ -1764,7 +1764,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server1")
assert.Equal(t, frame.Name, "server1")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -1772,7 +1772,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server2")
assert.Equal(t, frame.Name, "server2")
})
t.Run("Single group by query two metrics", func(t *testing.T) {
@@ -1833,7 +1833,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server1 Count")
assert.Equal(t, frame.Name, "server1 Count")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -1841,7 +1841,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server1 Average @value")
assert.Equal(t, frame.Name, "server1 Average @value")
frame = dataframes[2]
require.Len(t, frame.Fields, 2)
@@ -1849,7 +1849,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server2 Count")
assert.Equal(t, frame.Name, "server2 Count")
frame = dataframes[3]
require.Len(t, frame.Fields, 2)
@@ -1857,7 +1857,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server2 Average @value")
assert.Equal(t, frame.Name, "server2 Average @value")
})
t.Run("Simple group by 2 metrics 4 frames", func(t *testing.T) {
@@ -1985,7 +1985,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server1 Count and {{not_exist}} server1")
assert.Equal(t, frame.Name, "server1 Count and {{not_exist}} server1")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -1993,7 +1993,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server2 Count and {{not_exist}} server2")
assert.Equal(t, frame.Name, "server2 Count and {{not_exist}} server2")
frame = dataframes[2]
require.Len(t, frame.Fields, 2)
@@ -2001,7 +2001,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "0 Count and {{not_exist}} 0")
assert.Equal(t, frame.Name, "0 Count and {{not_exist}} 0")
})
})
@@ -2158,7 +2158,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server1 Max")
assert.Equal(t, frame.Name, "server1 Max")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -2166,7 +2166,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server1 Std Dev Lower")
assert.Equal(t, frame.Name, "server1 Std Dev Lower")
frame = dataframes[2]
require.Len(t, frame.Fields, 2)
@@ -2174,7 +2174,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server1 Std Dev Upper")
assert.Equal(t, frame.Name, "server1 Std Dev Upper")
frame = dataframes[3]
require.Len(t, frame.Fields, 2)
@@ -2182,7 +2182,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server2 Max")
assert.Equal(t, frame.Name, "server2 Max")
frame = dataframes[4]
require.Len(t, frame.Fields, 2)
@@ -2190,7 +2190,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server2 Std Dev Lower")
assert.Equal(t, frame.Name, "server2 Std Dev Lower")
frame = dataframes[5]
require.Len(t, frame.Fields, 2)
@@ -2198,7 +2198,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server2 Std Dev Upper")
assert.Equal(t, frame.Name, "server2 Std Dev Upper")
})
})
@@ -2290,7 +2290,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Count")
assert.Equal(t, frame.Name, "Count")
})
t.Run("Simple query count & avg aggregation", func(t *testing.T) {
@@ -2339,7 +2339,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Count")
assert.Equal(t, frame.Name, "Count")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -2348,7 +2348,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Average value")
assert.Equal(t, frame.Name, "Average value")
})
})
@@ -2522,7 +2522,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "@metric:cpu")
assert.Equal(t, frame.Name, "@metric:cpu")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -2530,7 +2530,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "@metric:logins.count")
assert.Equal(t, frame.Name, "@metric:logins.count")
})
})
@@ -2737,7 +2737,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Average")
assert.Equal(t, frame.Name, "Average")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -2745,7 +2745,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Count")
assert.Equal(t, frame.Name, "Count")
})
t.Run("With drop first and last aggregation (string)", func(t *testing.T) {
@@ -2805,7 +2805,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Average")
assert.Equal(t, frame.Name, "Average")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -2813,7 +2813,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 1)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 1)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Count")
assert.Equal(t, frame.Name, "Count")
})
})
@@ -2923,7 +2923,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Sum @value")
assert.Equal(t, frame.Name, "Sum @value")
frame = dataframes[1]
require.Len(t, frame.Fields, 2)
@@ -2931,7 +2931,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Max @value")
assert.Equal(t, frame.Name, "Max @value")
frame = dataframes[2]
require.Len(t, frame.Fields, 2)
@@ -2939,7 +2939,7 @@ func TestProcessBuckets(t *testing.T) {
require.Equal(t, frame.Fields[0].Len(), 2)
require.Equal(t, frame.Fields[1].Name, data.TimeSeriesValueFieldName)
require.Equal(t, frame.Fields[1].Len(), 2)
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "Sum @value * Max @value")
assert.Equal(t, frame.Name, "Sum @value * Max @value")
})
t.Run("Two bucket_script", func(t *testing.T) {
@@ -3672,16 +3672,5 @@ func requireFloatAt(t *testing.T, expected float64, field *data.Field, index int
}
func requireTimeSeriesName(t *testing.T, expected string, frame *data.Frame) {
getField := func() *data.Field {
for _, field := range frame.Fields {
if field.Type() != data.FieldTypeTime {
return field
}
}
return nil
}
field := getField()
require.NotNil(t, expected, field.Config)
require.Equal(t, expected, field.Config.DisplayNameFromDS)
require.Equal(t, expected, frame.Name)
}
@@ -7,7 +7,7 @@
// 0
// ]
// }
// Name:
// Name: Count
// Dimensions: 2 Fields by 3 Rows
// +-------------------------------+------------------+
// | Name: Time | Name: Value |
@@ -26,6 +26,7 @@
"frames": [
{
"schema": {
"name": "Count",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -47,10 +48,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {},
"config": {
"displayNameFromDS": "Count"
}
}
]
@@ -7,7 +7,7 @@
// 0
// ]
// }
// Name:
// Name: Average counter
// Dimensions: 2 Fields by 3 Rows
// +-----------------------------------+------------------+
// | Name: Time | Name: Value |
@@ -26,6 +26,7 @@
"frames": [
{
"schema": {
"name": "Average counter",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -47,10 +48,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {},
"config": {
"displayNameFromDS": "Average counter"
}
}
]
@@ -7,17 +7,17 @@
// 0
// ]
// }
// Name:
// Name: val3 Max float
// Dimensions: 2 Fields by 3 Rows
// +-------------------------------+--------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: label=val3 |
// | Type: []time.Time | Type: []*float64 |
// +-------------------------------+--------------------+
// | 2022-11-22 12:45:00 +0000 UTC | 97.85990905761719 |
// | 2022-11-22 12:46:00 +0000 UTC | 98.39459228515625 |
// | 2022-11-22 12:47:00 +0000 UTC | 99.76652526855469 |
// +-------------------------------+--------------------+
// +-------------------------------+-------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: |
// | Type: []time.Time | Type: []*float64 |
// +-------------------------------+-------------------+
// | 2022-11-22 12:45:00 +0000 UTC | 97.85990905761719 |
// | 2022-11-22 12:46:00 +0000 UTC | 98.39459228515625 |
// | 2022-11-22 12:47:00 +0000 UTC | 99.76652526855469 |
// +-------------------------------+-------------------+
//
//
//
@@ -28,11 +28,11 @@
// 0
// ]
// }
// Name:
// Name: val3 Min float
// Dimensions: 2 Fields by 3 Rows
// +-------------------------------+--------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: label=val3 |
// | Labels: | Labels: |
// | Type: []time.Time | Type: []*float64 |
// +-------------------------------+--------------------+
// | 2022-11-22 12:45:00 +0000 UTC | 8.375883102416992 |
@@ -49,17 +49,17 @@
// 0
// ]
// }
// Name:
// Name: val2 Max float
// Dimensions: 2 Fields by 3 Rows
// +-------------------------------+--------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: label=val2 |
// | Type: []time.Time | Type: []*float64 |
// +-------------------------------+--------------------+
// | 2022-11-22 12:45:00 +0000 UTC | 87.77692413330078 |
// | 2022-11-22 12:46:00 +0000 UTC | 98.47160339355469 |
// | 2022-11-22 12:47:00 +0000 UTC | 92.53878784179688 |
// +-------------------------------+--------------------+
// +-------------------------------+-------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: |
// | Type: []time.Time | Type: []*float64 |
// +-------------------------------+-------------------+
// | 2022-11-22 12:45:00 +0000 UTC | 87.77692413330078 |
// | 2022-11-22 12:46:00 +0000 UTC | 98.47160339355469 |
// | 2022-11-22 12:47:00 +0000 UTC | 92.53878784179688 |
// +-------------------------------+-------------------+
//
//
//
@@ -70,11 +70,11 @@
// 0
// ]
// }
// Name:
// Name: val2 Min float
// Dimensions: 2 Fields by 3 Rows
// +-------------------------------+--------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: label=val2 |
// | Labels: | Labels: |
// | Type: []time.Time | Type: []*float64 |
// +-------------------------------+--------------------+
// | 2022-11-22 12:45:00 +0000 UTC | 4.540984630584717 |
@@ -91,17 +91,17 @@
// 0
// ]
// }
// Name:
// Name: val1 Max float
// Dimensions: 2 Fields by 3 Rows
// +-------------------------------+--------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: label=val1 |
// | Type: []time.Time | Type: []*float64 |
// +-------------------------------+--------------------+
// | 2022-11-22 12:45:00 +0000 UTC | 98.57181549072266 |
// | 2022-11-22 12:46:00 +0000 UTC | 97.99356079101562 |
// | 2022-11-22 12:47:00 +0000 UTC | 94.45416259765625 |
// +-------------------------------+--------------------+
// +-------------------------------+-------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: |
// | Type: []time.Time | Type: []*float64 |
// +-------------------------------+-------------------+
// | 2022-11-22 12:45:00 +0000 UTC | 98.57181549072266 |
// | 2022-11-22 12:46:00 +0000 UTC | 97.99356079101562 |
// | 2022-11-22 12:47:00 +0000 UTC | 94.45416259765625 |
// +-------------------------------+-------------------+
//
//
//
@@ -112,11 +112,11 @@
// 0
// ]
// }
// Name:
// Name: val1 Min float
// Dimensions: 2 Fields by 3 Rows
// +-------------------------------+--------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: label=val1 |
// | Labels: | Labels: |
// | Type: []time.Time | Type: []*float64 |
// +-------------------------------+--------------------+
// | 2022-11-22 12:45:00 +0000 UTC | 2.859630584716797 |
@@ -131,6 +131,7 @@
"frames": [
{
"schema": {
"name": "val3 Max float",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -152,12 +153,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {
"label": "val3"
},
"config": {
"displayNameFromDS": "val3 Max float"
}
}
]
@@ -179,6 +174,7 @@
},
{
"schema": {
"name": "val3 Min float",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -200,12 +196,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {
"label": "val3"
},
"config": {
"displayNameFromDS": "val3 Min float"
}
}
]
@@ -227,6 +217,7 @@
},
{
"schema": {
"name": "val2 Max float",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -248,12 +239,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {
"label": "val2"
},
"config": {
"displayNameFromDS": "val2 Max float"
}
}
]
@@ -275,6 +260,7 @@
},
{
"schema": {
"name": "val2 Min float",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -296,12 +282,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {
"label": "val2"
},
"config": {
"displayNameFromDS": "val2 Min float"
}
}
]
@@ -323,6 +303,7 @@
},
{
"schema": {
"name": "val1 Max float",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -344,12 +325,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {
"label": "val1"
},
"config": {
"displayNameFromDS": "val1 Max float"
}
}
]
@@ -371,6 +346,7 @@
},
{
"schema": {
"name": "val1 Min float",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -392,12 +368,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {
"label": "val1"
},
"config": {
"displayNameFromDS": "val1 Min float"
}
}
]
@@ -7,7 +7,7 @@
// 0
// ]
// }
// Name:
// Name: Std Dev Lower counter
// Dimensions: 2 Fields by 3 Rows
// +-----------------------------------+--------------------+
// | Name: Time | Name: Value |
@@ -28,7 +28,7 @@
// 0
// ]
// }
// Name:
// Name: Std Dev Upper counter
// Dimensions: 2 Fields by 3 Rows
// +-----------------------------------+--------------------+
// | Name: Time | Name: Value |
@@ -47,6 +47,7 @@
"frames": [
{
"schema": {
"name": "Std Dev Lower counter",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -68,10 +69,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {},
"config": {
"displayNameFromDS": "Std Dev Lower counter"
}
}
]
@@ -93,6 +90,7 @@
},
{
"schema": {
"name": "Std Dev Upper counter",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -114,10 +112,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {},
"config": {
"displayNameFromDS": "Std Dev Upper counter"
}
}
]
@@ -7,7 +7,7 @@
// 0
// ]
// }
// Name:
// Name: Max float
// Dimensions: 2 Fields by 3 Rows
// +-------------------------------+-------------------+
// | Name: Time | Name: Value |
@@ -26,6 +26,7 @@
"frames": [
{
"schema": {
"name": "Max float",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -47,10 +48,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {},
"config": {
"displayNameFromDS": "Max float"
}
}
]
@@ -7,7 +7,7 @@
// 0
// ]
// }
// Name:
// Name: Min float
// Dimensions: 2 Fields by 3 Rows
// +-------------------------------+---------------------+
// | Name: Time | Name: Value |
@@ -26,6 +26,7 @@
"frames": [
{
"schema": {
"name": "Min float",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -47,10 +48,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {},
"config": {
"displayNameFromDS": "Min float"
}
}
]
@@ -7,7 +7,7 @@
// 0
// ]
// }
// Name:
// Name: p25.0 counter
// Dimensions: 2 Fields by 3 Rows
// +-----------------------------------+------------------+
// | Name: Time | Name: Value |
@@ -28,7 +28,7 @@
// 0
// ]
// }
// Name:
// Name: p75.0 counter
// Dimensions: 2 Fields by 3 Rows
// +-----------------------------------+------------------+
// | Name: Time | Name: Value |
@@ -47,6 +47,7 @@
"frames": [
{
"schema": {
"name": "p25.0 counter",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -68,10 +69,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {},
"config": {
"displayNameFromDS": "p25.0 counter"
}
}
]
@@ -93,6 +90,7 @@
},
{
"schema": {
"name": "p75.0 counter",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -114,10 +112,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {},
"config": {
"displayNameFromDS": "p75.0 counter"
}
}
]
@@ -7,18 +7,18 @@
// 0
// ]
// }
// Name:
// Name: val3
// Dimensions: 2 Fields by 4 Rows
// +-----------------------------------+--------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: label=val3 |
// | Type: []time.Time | Type: []*float64 |
// +-----------------------------------+--------------------+
// | 2022-11-14 10:40:00.123 +0000 UTC | 0 |
// | 2022-11-14 10:41:00.123 +0000 UTC | 27 |
// | 2022-11-14 10:42:00.123 +0000 UTC | 21 |
// | 2022-11-14 10:43:00.123 +0000 UTC | 31 |
// +-----------------------------------+--------------------+
// +-----------------------------------+------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: |
// | Type: []time.Time | Type: []*float64 |
// +-----------------------------------+------------------+
// | 2022-11-14 10:40:00.123 +0000 UTC | 0 |
// | 2022-11-14 10:41:00.123 +0000 UTC | 27 |
// | 2022-11-14 10:42:00.123 +0000 UTC | 21 |
// | 2022-11-14 10:43:00.123 +0000 UTC | 31 |
// +-----------------------------------+------------------+
//
//
//
@@ -29,18 +29,18 @@
// 0
// ]
// }
// Name:
// Name: val2
// Dimensions: 2 Fields by 4 Rows
// +-----------------------------------+--------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: label=val2 |
// | Type: []time.Time | Type: []*float64 |
// +-----------------------------------+--------------------+
// | 2022-11-14 10:40:00.123 +0000 UTC | 0 |
// | 2022-11-14 10:41:00.123 +0000 UTC | 28 |
// | 2022-11-14 10:42:00.123 +0000 UTC | 22 |
// | 2022-11-14 10:43:00.123 +0000 UTC | 39 |
// +-----------------------------------+--------------------+
// +-----------------------------------+------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: |
// | Type: []time.Time | Type: []*float64 |
// +-----------------------------------+------------------+
// | 2022-11-14 10:40:00.123 +0000 UTC | 0 |
// | 2022-11-14 10:41:00.123 +0000 UTC | 28 |
// | 2022-11-14 10:42:00.123 +0000 UTC | 22 |
// | 2022-11-14 10:43:00.123 +0000 UTC | 39 |
// +-----------------------------------+------------------+
//
//
//
@@ -51,18 +51,18 @@
// 0
// ]
// }
// Name:
// Name: val1
// Dimensions: 2 Fields by 4 Rows
// +-----------------------------------+--------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: label=val1 |
// | Type: []time.Time | Type: []*float64 |
// +-----------------------------------+--------------------+
// | 2022-11-14 10:40:00.123 +0000 UTC | 0 |
// | 2022-11-14 10:41:00.123 +0000 UTC | 26 |
// | 2022-11-14 10:42:00.123 +0000 UTC | 20 |
// | 2022-11-14 10:43:00.123 +0000 UTC | 41 |
// +-----------------------------------+--------------------+
// +-----------------------------------+------------------+
// | Name: Time | Name: Value |
// | Labels: | Labels: |
// | Type: []time.Time | Type: []*float64 |
// +-----------------------------------+------------------+
// | 2022-11-14 10:40:00.123 +0000 UTC | 0 |
// | 2022-11-14 10:41:00.123 +0000 UTC | 26 |
// | 2022-11-14 10:42:00.123 +0000 UTC | 20 |
// | 2022-11-14 10:43:00.123 +0000 UTC | 41 |
// +-----------------------------------+------------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
@@ -71,6 +71,7 @@
"frames": [
{
"schema": {
"name": "val3",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -92,12 +93,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {
"label": "val3"
},
"config": {
"displayNameFromDS": "val3"
}
}
]
@@ -121,6 +116,7 @@
},
{
"schema": {
"name": "val2",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -142,12 +138,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {
"label": "val2"
},
"config": {
"displayNameFromDS": "val2"
}
}
]
@@ -171,6 +161,7 @@
},
{
"schema": {
"name": "val1",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -192,12 +183,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {
"label": "val1"
},
"config": {
"displayNameFromDS": "val1"
}
}
]
@@ -7,7 +7,7 @@
// 0
// ]
// }
// Name:
// Name: Top Metrics float
// Dimensions: 2 Fields by 3 Rows
// +-----------------------------------+-------------------+
// | Name: Time | Name: Value |
@@ -26,6 +26,7 @@
"frames": [
{
"schema": {
"name": "Top Metrics float",
"meta": {
"type": "timeseries-multi",
"typeVersion": [
@@ -47,10 +48,6 @@
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {},
"config": {
"displayNameFromDS": "Top Metrics float"
}
}
]