Export stats as JSON.

This commit is contained in:
Juliusz Chroboczek
2021-04-30 19:50:42 +02:00
parent 9b1d814b58
commit 3a6ade988d
4 changed files with 47 additions and 95 deletions
+6 -9
View File
@@ -23,18 +23,15 @@ func (c *webClient) GetStats() *stats.Client {
tracks := up.getTracks()
for _, t := range tracks {
s := t.cache.GetStats(false)
var loss uint8
if s.Expected > s.Received {
loss = uint8((s.Expected - s.Received) * 100 /
s.Expected)
}
loss := float64(s.Expected - s.Received) /
float64(s.Expected)
jitter := time.Duration(t.jitter.Jitter()) *
(time.Second / time.Duration(t.jitter.HZ()))
rate, _ := t.rate.Estimate()
conns.Tracks = append(conns.Tracks, stats.Track{
Bitrate: uint64(rate) * 8,
Loss: loss,
Jitter: jitter,
Jitter: stats.Duration(jitter),
})
}
cs.Up = append(cs.Up, conns)
@@ -59,9 +56,9 @@ func (c *webClient) GetStats() *stats.Client {
conns.Tracks = append(conns.Tracks, stats.Track{
Bitrate: uint64(rate) * 8,
MaxBitrate: t.maxBitrate.Get(jiffies),
Loss: uint8(uint32(loss) * 100 / 256),
Rtt: rtt,
Jitter: j,
Loss: float64(loss) / 256.0,
Rtt: stats.Duration(rtt),
Jitter: stats.Duration(j),
})
}
cs.Down = append(cs.Down, conns)