in worker.go [112:135]
func (w *worker) sortOutput(em map[string]config.Endpoint) []output {
m := make(map[string]output)
for i := 0; i < w.size(em, region); i++ {
o := <-w.outputs
a := m[o.region]
a.region = o.region
a.durations = append(a.durations, o.durations[0])
a.errors += o.errors
m[o.region] = a
}
all := make([]output, 0, len(m))
for _, t := range m {
all = append(all, t)
}
// sort all by median duration.
sort.Slice(all, func(i, j int) bool {
return all[i].median() < all[j].median()
})
return all
}