Merge pull request #8731 from yeya24/update

Improve grouping label match logic
This commit is contained in:
Julien Pivotto 2021-04-27 00:55:22 +02:00 committed by GitHub
commit e36e5fa833
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2191,16 +2191,7 @@ func (ev *evaluator) aggregation(op parser.ItemType, grouping []string, without
lb.Del(labels.MetricName) lb.Del(labels.MetricName)
m = lb.Labels() m = lb.Labels()
} else { } else {
m = make(labels.Labels, 0, len(grouping)) m = metric.WithLabels(grouping...)
for _, l := range metric {
for _, n := range grouping {
if l.Name == n {
m = append(m, l)
break
}
}
}
sort.Sort(m)
} }
result[groupingKey] = &groupedAggregation{ result[groupingKey] = &groupedAggregation{
labels: m, labels: m,
@ -2339,7 +2330,7 @@ func (ev *evaluator) aggregation(op parser.ItemType, grouping []string, without
continue // Bypass default append. continue // Bypass default append.
case parser.BOTTOMK: case parser.BOTTOMK:
// The heap keeps the lowest value on top, so reverse it. // The heap keeps the highest value on top, so reverse it.
sort.Sort(sort.Reverse(aggr.reverseHeap)) sort.Sort(sort.Reverse(aggr.reverseHeap))
for _, v := range aggr.reverseHeap { for _, v := range aggr.reverseHeap {
enh.Out = append(enh.Out, Sample{ enh.Out = append(enh.Out, Sample{