optimize: pipeline logparser
This commit is contained in:
@ -40,10 +40,7 @@ func (p *pipeline) start() ([]result, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
gres := make(map[string]result)
|
||||||
out []result
|
|
||||||
gres = make(map[string]int)
|
|
||||||
)
|
|
||||||
|
|
||||||
for _, r := range res {
|
for _, r := range res {
|
||||||
if !p.filter(r) {
|
if !p.filter(r) {
|
||||||
@ -51,14 +48,12 @@ func (p *pipeline) start() ([]result, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
k := p.groupKey(r)
|
k := p.groupKey(r)
|
||||||
|
gres[k] = r.add(gres[k])
|
||||||
|
}
|
||||||
|
|
||||||
if i, ok := gres[k]; ok {
|
var out []result
|
||||||
out[i] = out[i].add(r)
|
for _, v := range gres {
|
||||||
continue
|
out = append(out, v)
|
||||||
}
|
|
||||||
gres[k] = len(out)
|
|
||||||
|
|
||||||
out = append(out, r)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
err = p.output(out)
|
err = p.output(out)
|
||||||
|
Reference in New Issue
Block a user