in collector/collector.go [405:441]
func zeroOutResults(
glr *config.RemoteConfig,
ms messageStore,
rs resultStore,
remotes config.RemoteStore,
sfn statsUploader,
sr metrics.Reporter,
logger *log.Logger,
) {
timedOutReport := report{
latency2Way: 0,
latency1Way: 0,
timedOut: true}
for targetKey := range ms {
_, existsTarget := rs[targetKey]
if !existsTarget {
var resDSCP [defines.NumQOSDCSPValues]map[layers.TCPPort]report
rs[targetKey] = &resDSCP
}
for qosDSCP := 0; qosDSCP < defines.NumQOSDCSPValues; qosDSCP++ {
if rs[targetKey][qosDSCP] == nil {
rs[targetKey][qosDSCP] = make(map[layers.TCPPort]report)
}
for srcPort := range ms[targetKey][qosDSCP].sent {
if _, existsSrc := rs[targetKey][qosDSCP][srcPort]; existsSrc {
continue
}
rs[targetKey][qosDSCP][srcPort] = timedOutReport
// Upload timed out results
sfn(glr, sr, targetKey, remotes, ip.GetDSCP[qosDSCP], srcPort, &timedOutReport, logger)
time.Sleep(1 * time.Millisecond)
}
}
}
}