in collector/collector.go [162:195]
func (rs resultStore) processResults(
gl *config.Global,
remotes config.RemoteStore,
target string,
req tcp.Message,
rep tcp.Message,
logger *log.Logger,
) report {
// Calculate metrics
l2w := rep.Ts.Run.Sub(req.Ts.Run)
timedOut := l2w > gl.RemoteConfig.Timeout
if timedOut {
logger.Debug("Received timed-out echo response from", zap.String("target", target))
}
l1w := rep.Ts.Payload.Sub(req.Ts.Unix)
if rep.FromExternalTarget(gl.RemoteConfig.TargetTCPPort) {
l1w = -1
}
r := report{
latency2Way: l2w,
latency1Way: l1w,
timedOut: timedOut}
// Store processed report to 'result' data structure for stdout, if needed
if !*(gl.CLI.SenderOnlyMode) {
QosDSCPIndex := (ip.GetDSCP).Pos(req.QosDSCP, logger)
rs.add(target, QosDSCPIndex, req.SrcPort, r)
}
return r
}