improve grouping label match logic

Signed-off-by: yeya24 <yb532204897@gmail.com>
This commit is contained in:
yeya24 2021-04-16 21:29:57 -04:00
parent 850dbda5c3
commit d698e062dc
1 changed files with 2 additions and 11 deletions

View File

@ -2191,16 +2191,7 @@ func (ev *evaluator) aggregation(op parser.ItemType, grouping []string, without
lb.Del(labels.MetricName)
m = lb.Labels()
} else {
m = make(labels.Labels, 0, len(grouping))
for _, l := range metric {
for _, n := range grouping {
if l.Name == n {
m = append(m, l)
break
}
}
}
sort.Sort(m)
m = metric.WithLabels(grouping...)
}
result[groupingKey] = &groupedAggregation{
labels: m,
@ -2339,7 +2330,7 @@ func (ev *evaluator) aggregation(op parser.ItemType, grouping []string, without
continue // Bypass default append.
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))
for _, v := range aggr.reverseHeap {
enh.Out = append(enh.Out, Sample{