Merge pull request #3679 from weaveworks/probe-unsafe-merge

perf(probe): reduce copying of nodes
This commit is contained in:
Bryan Boreham
2019-09-18 15:56:06 +01:00
committed by GitHub

View File

@@ -186,7 +186,7 @@ func (p *Probe) report() report.Report {
result := report.MakeReport()
for i := 0; i < cap(reports); i++ {
result = result.Merge(<-reports)
result.UnsafeMerge(<-reports)
}
return result
}
@@ -213,11 +213,12 @@ func (p *Probe) tag(r report.Report) report.Report {
func (p *Probe) drainAndSanitise(rpt report.Report, rs chan report.Report) report.Report {
p.rateLimiter.Wait(context.Background())
rpt = rpt.Copy()
ForLoop:
for {
select {
case r := <-rs:
rpt = rpt.Merge(r)
rpt.UnsafeMerge(r)
default:
break ForLoop
}