Elasticsearch: Fix legend for alerting, expressions and previously frontend queries (#84485)
* Elasticsearch: Fix legend for alerting, expressions and previously frontend queries * Add comment * Update comment
This commit is contained in:
@@ -330,7 +330,7 @@ func TestProcessLogsResponse(t *testing.T) {
|
||||
]
|
||||
}`
|
||||
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -417,7 +417,7 @@ func TestProcessLogsResponse(t *testing.T) {
|
||||
]
|
||||
}`
|
||||
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -525,7 +525,7 @@ func TestProcessRawDataResponse(t *testing.T) {
|
||||
]
|
||||
}`
|
||||
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -814,7 +814,7 @@ func TestProcessRawDocumentResponse(t *testing.T) {
|
||||
]
|
||||
}`
|
||||
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -995,7 +995,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -1097,7 +1097,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -1160,7 +1160,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -1233,7 +1233,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}]
|
||||
}`
|
||||
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, result.Responses, 1)
|
||||
frames := result.Responses["A"].Frames
|
||||
@@ -1464,7 +1464,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
}]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -1551,7 +1551,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}]
|
||||
}`
|
||||
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, result.Responses, 1)
|
||||
frames := result.Responses["A"].Frames
|
||||
@@ -1749,7 +1749,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
|
||||
queryRes := result.Responses["A"]
|
||||
@@ -1775,6 +1775,70 @@ func TestProcessBuckets(t *testing.T) {
|
||||
assert.Equal(t, frame.Name, "server2")
|
||||
})
|
||||
|
||||
t.Run("Single group by query one metric with true keepLabelsInResponse", func(t *testing.T) {
|
||||
targets := map[string]string{
|
||||
"A": `{
|
||||
"metrics": [{ "type": "count", "id": "1" }],
|
||||
"bucketAggs": [
|
||||
{ "type": "terms", "field": "host", "id": "2" },
|
||||
{ "type": "date_histogram", "field": "@timestamp", "id": "3" }
|
||||
]
|
||||
}`,
|
||||
}
|
||||
response := `{
|
||||
"responses": [
|
||||
{
|
||||
"aggregations": {
|
||||
"2": {
|
||||
"buckets": [
|
||||
{
|
||||
"3": {
|
||||
"buckets": [{ "doc_count": 1, "key": 1000 }, { "doc_count": 3, "key": 2000 }]
|
||||
},
|
||||
"doc_count": 4,
|
||||
"key": "server1"
|
||||
},
|
||||
{
|
||||
"3": {
|
||||
"buckets": [{ "doc_count": 2, "key": 1000 }, { "doc_count": 8, "key": 2000 }]
|
||||
},
|
||||
"doc_count": 10,
|
||||
"key": "server2"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response, true)
|
||||
require.NoError(t, err)
|
||||
|
||||
queryRes := result.Responses["A"]
|
||||
require.NotNil(t, queryRes)
|
||||
dataframes := queryRes.Frames
|
||||
require.NoError(t, err)
|
||||
require.Len(t, dataframes, 2)
|
||||
|
||||
frame := dataframes[0]
|
||||
require.Len(t, frame.Fields, 2)
|
||||
require.Equal(t, frame.Fields[0].Name, data.TimeSeriesTimeFieldName)
|
||||
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)
|
||||
require.Equal(t, frame.Fields[1].Labels, data.Labels{"host": "server1"})
|
||||
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server1")
|
||||
|
||||
frame = dataframes[1]
|
||||
require.Len(t, frame.Fields, 2)
|
||||
require.Equal(t, frame.Fields[0].Name, data.TimeSeriesTimeFieldName)
|
||||
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)
|
||||
require.Equal(t, frame.Fields[1].Labels, data.Labels{"host": "server2"})
|
||||
assert.Equal(t, frame.Fields[1].Config.DisplayNameFromDS, "server2")
|
||||
})
|
||||
|
||||
t.Run("Single group by query two metrics", func(t *testing.T) {
|
||||
targets := map[string]string{
|
||||
"A": `{
|
||||
@@ -1817,7 +1881,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -1969,7 +2033,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2142,7 +2206,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2274,7 +2338,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2322,7 +2386,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2384,7 +2448,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2506,7 +2570,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2609,7 +2673,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2659,7 +2723,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2721,7 +2785,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2789,7 +2853,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -2853,7 +2917,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
@@ -2907,7 +2971,7 @@ func TestProcessBuckets(t *testing.T) {
|
||||
}
|
||||
]
|
||||
}`
|
||||
result, err := parseTestResponse(targets, response)
|
||||
result, err := parseTestResponse(targets, response, false)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, result.Responses, 1)
|
||||
|
||||
@@ -3583,7 +3647,7 @@ func TestTrimEdges(t *testing.T) {
|
||||
requireFrameLength(t, frames[0], 1)
|
||||
}
|
||||
|
||||
func parseTestResponse(tsdbQueries map[string]string, responseBody string) (*backend.QueryDataResponse, error) {
|
||||
func parseTestResponse(tsdbQueries map[string]string, responseBody string, keepLabelsInResponse bool) (*backend.QueryDataResponse, error) {
|
||||
from := time.Date(2018, 5, 15, 17, 50, 0, 0, time.UTC)
|
||||
to := time.Date(2018, 5, 15, 17, 55, 0, 0, time.UTC)
|
||||
configuredFields := es.ConfiguredFields{
|
||||
@@ -3618,7 +3682,7 @@ func parseTestResponse(tsdbQueries map[string]string, responseBody string) (*bac
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return parseResponse(context.Background(), response.Responses, queries, configuredFields, log.New("test.logger"), tracing.InitializeTracerForTest())
|
||||
return parseResponse(context.Background(), response.Responses, queries, configuredFields, keepLabelsInResponse, log.New("test.logger"), tracing.InitializeTracerForTest())
|
||||
}
|
||||
|
||||
func requireTimeValue(t *testing.T, expected int64, frame *data.Frame, index int) {
|
||||
|
||||
Reference in New Issue
Block a user