/* plot horizontal time interval lines */
- for (var i = step * 60; i < width; i += step * 60)
+ for (var i = width % (step * 60); i < width; i += step * 60)
{
var line = G.createElementNS('http://www.w3.org/2000/svg', 'line');
line.setAttribute('x1', i);
text.setAttribute('x', i + 5);
text.setAttribute('y', 15);
text.setAttribute('style', 'fill:#999999; font-size:9pt');
- text.appendChild(G.createTextNode(Math.round(i / step / 60) + 'm'));
+ text.appendChild(G.createTextNode(Math.round((width - i) / step / 60) + 'm'));
label_25.parentNode.appendChild(line);
label_25.parentNode.appendChild(text);
label_scale.innerHTML = String.format('<%:(%d minute window, %d second interval)%>', data_wanted / 60, 3);
/* render datasets, start update interval */
- XHR.poll(3, '<%=build_url("admin/status/bandwidth_status", curdev)%>', null,
+ XHR.poll(3, '<%=build_url("admin/status/realtime/bandwidth_status", curdev)%>', null,
function(x, data)
{
var data_max = 0;
continue;
/* normalize difference against time interval */
- var time_delta = data[i][TIME] - data[i-1][TIME];
- if (time_delta)
+ if (i > 0)
{
- data_rx.push((data[i][RXB] - data[i-1][RXB]) / time_delta);
- data_tx.push((data[i][TXB] - data[i-1][TXB]) / time_delta);
+ var time_delta = data[i][TIME] - data[i-1][TIME];
+ if (time_delta)
+ {
+ data_rx.push((data[i][RXB] - data[i-1][RXB]) / time_delta);
+ data_tx.push((data[i][TXB] - data[i-1][TXB]) / time_delta);
+ }
}
}