1 function getPageKind() {
2 var parentNodeTxt = $('#selectedMainNav').text();
3 parentNodeTxt = parentNodeTxt.replace("/\n","");
4 parentNodeTxt = parentNodeTxt.replace("ยป","");
5 parentNodeTxt = parentNodeTxt.trim();
6 if (parentNodeTxt.length > 0 && parentNodeTxt.charAt(parentNodeTxt.length-1)=='s') {
7 parentNodeTxt = parentNodeTxt.substring(0, parentNodeTxt.length-1);
12 function getObjectQuery() {
13 var selectedNodeTxt = $('#currentOriginalNode').text();
14 selectedNodeTxt = selectedNodeTxt.trim();
15 selectedNodeTxt = selectedNodeTxt.split(' ').join('');//selectedNodeTxt.replace(" ", "")
16 parentNodeTxt = getPageKind();
18 if (parentNodeTxt == "Slice") {
19 return "&slice=" + selectedNodeTxt;
20 } else if (parentNodeTxt == "Site") {
21 return "&site=" + selectedNodeTxt;
22 } else if (parentNodeTxt == "Node") {
23 return "&node=" + selectedNodeTxt;
30 function setPageStatInt(labelName, valueName, legend, units, value) {
31 $(labelName).text(legend).show();
32 $(valueName).text(Math.round(value)+units).show();
35 function setPageStatFloat(labelName, valueName, legend, units, value, dp) {
36 $(labelName).text(legend).show();
37 $(valueName).text(Number(value).toFixed(dp)+units).show();
40 // ----------------------------------------------------------------------------
41 // node count and average cpu utilization
43 function updatePageAnalyticsData(summaryData) {
44 window.pageAnalyticsUrl = summaryData["dataSourceUrl"];
45 lastRow = summaryData.rows.length-1;
47 if (summaryData.msg) {
48 $("#minidashStatus").text(summaryData.msg).show();
50 $("#minidashStatus").text("").hide();
53 if (summaryData.rows.length <= 0) {
54 //console.log("no data received from page analytics ajax")
59 //setPageStatInt(".nodesLabel", ".nodesValue", "Node Count", "", summaryData.rows[lastRow]["count_hostname"]);
60 //setPageStatInt(".cpuLabel", ".cpuValue", "Avg Load", "%", summaryData.rows[lastRow]["avg_cpu"]);
63 setPageStatInt("#miniDashNodeCountLabel", "#miniDashNodeCount", "Node Count", "", summaryData.rows[lastRow]["count_hostname"]);
64 setPageStatInt("#miniDashAvgLoadLabel", "#miniDashAvgLoad", "Avg Load", "%", summaryData.rows[lastRow]["avg_cpu"]);
67 function updatePageAnalytics() {
68 var url= '/analytics/bigquery/?avg=%cpu&count=%hostname&cached=default' + getObjectQuery();
73 success: function(newData) {
74 updatePageAnalyticsData(newData);
75 setTimeout(updatePageAnalytics, 30000);
78 console.log("error retrieving statistics; retry in 5 seconds");
79 setTimeout(updatePageBandwidth, 5000);
84 // ----------------------------------------------------------------------------
87 function updatePageBandwidthData(summaryData) {
88 window.pageBandwidthUrl = summaryData["dataSourceUrl"];
89 lastRow = summaryData.rows.length-1;
91 if (summaryData.rows.length <= 0) {
92 //console.log("no data received from page bandwidth ajax")
97 //setPageStatFloat(".bandwidthLabel", ".bandwidthValue", "Bandwidth", " Gbps", summaryData.rows[lastRow]["sum_computed_bytes_sent_div_elapsed"]*8.0/1024/1024/1024,2);
100 setPageStatFloat("#miniDashBandwidthLabel", "#miniDashBandwidth", "Bandwidth", " Gbps", summaryData.rows[lastRow]["sum_computed_bytes_sent_div_elapsed"]*8.0/1024/1024/1024,2);
103 function updatePageBandwidth() {
104 var url='/analytics/bigquery/?computed=%bytes_sent/%elapsed&cached=default' + getObjectQuery();
106 if (getPageKind()!="Slice") {
107 url = url + "&event=node_heartbeat";
114 success: function(newData) {
115 updatePageBandwidthData(newData);
116 setTimeout(updatePageBandwidth, 30000);
119 console.log("error retrieving statistics; retry in 5 seconds")
120 setTimeout(updatePageBandwidth, 5000);
125 $( document ).ready(function() {
126 updatePageAnalytics();
127 updatePageBandwidth();