&contentdata
section_name = 'graphs'
page_name = 'snrm'
author = 'mrmt32'
type = 'page'
>
Signal to Noise Ratio Margin
<$$graph_menu_block:{pagename: "snrm"}>
<$$loading_text_block:{}>
<&javascript delayed='true'>
var startTime;
var endTime;
var timeFormat;
var times = pHMb.Graphing.ChangeTimeSpan(parameters.type, "Signal to Noise Ratio Margin");
SendCommandToServer({action:'get_value', type:'log', name:'SNR Margin', startTime:times.startTime, endTime:times.endTime}, function(jsonResponse)
{
if (jsonResponse.isError)
{
$("#snrm_graph").html(jsonResponse.ErrorString);
}
else
{
// Note that the returned data is sorted descending by date (so newest is first)
var downCurve = {label: "Downstream", data: new Array()};
var upCurve = {label: "Upstream", data: new Array()};
//var errorCurve = {label: "Downtime", data: new Array()};
var i = 0;
var errCount = 0;
for (logItemId in jsonResponse.ReturnData)
{
var logItem = jsonResponse.ReturnData[logItemId];
var time = logItem.time.getTime();
downCurve.data[i] = [time, logItem.snrmDown];
upCurve.data[i] = [time, logItem.snrmUp];
i++;
}
$.plot($("#snrm_graph"), [downCurve, upCurve],
{
xaxis: { mode: "time", timeformat: timeFormat },
points: { show: false },
lines: { show: true },
pan: { interactive: true },
zoom: { interactive: true }
});
}
});
// Get totals and averages
SendCommandToServer({action:'get_value', type:'totals', name:'SNR Margin', startTime:times.startTime, endTime:times.endTime}, function(jsonResponse)
{
if (jsonResponse.isError)
{
$("#snrAverages").html(jsonResponse.ErrorString);
}
else
{
parameters =
{
avgSnrmDown: Math.round(jsonResponse.ReturnData[0].avgSnrmDown * 100) / 100,
avgSnrmUp: Math.round(jsonResponse.ReturnData[0].avgSnrmUp * 100) / 100
};
ParseContentData(window.ContentData.blocks.snrm_averages_block, parameters, function(output)
{
$("#snrAverages").html(output);
})
}
});
<&/javascript>
| <$$loading_text_block:{}> |
<&/contentdata>
<&contentdata
block_name = 'snrm_averages_block'
author = 'mrmt32'
type = 'block'
>
| Downstream | Upstream |
| Average SNR Margin: | {$avgSnrmDown} dB | {$avgSnrmUp} dB |
<&/contentdata>