Я использую go-ping (https://github.com/sparrc/go-ping) библиотеку golang для непривилегированного пинга ICMP.
timeout := time.Second*1000
interval := time.Second
count := 5
host := p.ipAddr
pinger, cmdErr := ping.NewPinger(host)
pinger.Count = count
pinger.Interval = interval
pinger.Timeout = timeout
pinger.SetPrivileged(false)
pinger.Run()
stats := pinger.Statistics()
latency = stats.AvgRtt // stats.AvgRtt is time.Duration type
jitter = stats.StdDevRtt// stats.StdDevRtt is time.Duration type
От запуска этого, я получаю латентность в миллисекундах и дрожание в микросекундах. Я хочу, чтобы один и тот же блок для обоих, пусть говорят миллисекунды, поэтому, когда я делаю jitter = stats.StdDevRtt/1000
или jitter = jitter/1000
(для преобразования микросекунд в миллисекунды), то, что я получаю, является джиттером в наносекундах:( Есть ли способ получить одинаковые миллисекунды для как латентность, так и дрожание.