elasticsearch: more robust field order (#65102)

pull/65112/head
Gábor Farkas 2 years ago committed by GitHub
parent 23e3ac0ac9
commit 335bcd1e4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 13
      pkg/tsdb/elasticsearch/response_parser.go
  2. 2
      pkg/tsdb/elasticsearch/response_parser_frontend_test.go

@ -693,7 +693,7 @@ func processAggregationDocs(esAgg *simplejson.Json, aggDef *BucketAgg, target *Q
}
case percentilesType:
percentiles := bucket.GetPath(metric.ID, "values")
for percentileName := range percentiles.MustMap() {
for _, percentileName := range getSortedKeys(percentiles.MustMap()) {
percentileValue := percentiles.Get(percentileName).MustFloat64()
addMetricValue(values, fmt.Sprintf("p%v %v", percentileName, metric.Field), &percentileValue)
}
@ -1129,3 +1129,14 @@ func createFieldsFromPropKeys(frames data.Frames, propKeys []string) []*data.Fie
}
return fields
}
func getSortedKeys(data map[string]interface{}) []string {
keys := make([]string, 0, len(data))
for k := range data {
keys = append(keys, k)
}
sort.Strings(keys)
return keys
}

@ -1030,7 +1030,7 @@ func TestPercentilesWithoutDateHistogram(t *testing.T) {
"3": {
"buckets": [
{
"1": { "values": { "75": 3.3, "90": 5.5 } },
"1": { "values": { "90": 5.5, "75": 3.3 } },
"doc_count": 10,
"key": "id1"
},

Loading…
Cancel
Save