1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-22 08:35:57 +01:00

Reformat stats display, protect against division by zero.

This commit is contained in:
Juliusz Chroboczek 2021-05-07 02:23:10 +02:00
parent b1bb427f06
commit 86b6c71ca0
3 changed files with 29 additions and 18 deletions

View file

@ -23,8 +23,11 @@ func (c *webClient) GetStats() *stats.Client {
tracks := up.getTracks()
for _, t := range tracks {
s := t.cache.GetStats(false)
loss := float64(s.Expected - s.Received) /
var loss float64
if s.Expected > 0 {
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()

View file

@ -56,11 +56,15 @@ function formatGroup(group) {
tr2.appendChild(td3);
table.appendChild(tr2);
if(client.up)
for(let j = 0; j < client.up.length; j++)
table.appendChild(formatConn('↑', client.up[j]));
for(let j = 0; j < client.up.length; j++) {
let rows = formatConn('↑', client.up[j]);
rows.forEach(r => table.appendChild(r));
}
if(client.down)
for(let j = 0; j < client.down.length; j++)
table.appendChild(formatConn('↓', client.down[j]));
for(let j = 0; j < client.down.length; j++) {
let rows = formatConn('↓', client.down[j]);
rows.forEach(r => table.appendChild(r));
}
}
td2.appendChild(table);
tr.appendChild(td2);
@ -76,24 +80,25 @@ function formatConn(direction, conn) {
td2.textContent = conn.id;
tr.appendChild(td2);
let td3 = document.createElement('td');
if(conn.maxBitrate)
td3.textContent = direction + ' ' + conn.maxBitrate;
else
td3.textContent = direction;
tr.appendChild(td3);
let td4 = document.createElement('td');
if(conn.tracks) {
let table = document.createElement('table');
for(let i = 0; i < conn.tracks.length; i++)
table.appendChild(formatTrack(conn.tracks[i]));
td4.appendChild(table);
}
if(conn.maxBitrate)
td4.textContent = `${conn.maxBitrate}`;
tr.appendChild(td4);
return tr;
let rows = [tr];
if(conn.tracks) {
for(let i = 0; i < conn.tracks.length; i++)
rows.push(formatTrack(conn.tracks[i]));
}
return rows;
}
function formatTrack(track) {
let tr = document.createElement('tr');
tr.appendChild(document.createElement('td'));
tr.appendChild(document.createElement('td'));
tr.appendChild(document.createElement('td'));
let td = document.createElement('td');
if(track.maxBitrate)
td.textContent = `${track.bitrate||0}/${track.maxBitrate}`;

View file

@ -370,7 +370,10 @@ func statsHandler(w http.ResponseWriter, r *http.Request, dataDir string) {
ss := stats.GetGroups()
e := json.NewEncoder(w)
e.Encode(ss)
err = e.Encode(ss)
if err != nil {
log.Printf("stats.json: %v", err)
}
return
}