bring demo changes from node33 and node36 into master
diff --git a/planetstack/core/static/page_analytics.js b/planetstack/core/static/page_analytics.js
new file mode 100644
index 0000000..017b403
--- /dev/null
+++ b/planetstack/core/static/page_analytics.js
@@ -0,0 +1,83 @@
+function getObjectQuery() {
+ var selectedNodeTxt = $('.currentOriginalNode').text();
+ selectedNodeTxt = selectedNodeTxt.trim();
+ selectedNodeTxt = selectedNodeTxt.split(' ').join('');//selectedNodeTxt.replace(" ", "")
+ var parentNodeTxt = $('.selectedMainNav').text();
+ parentNodeTxt = parentNodeTxt.replace("/\n","");
+ parentNodeTxt = parentNodeTxt.replace("»","");
+ parentNodeTxt = parentNodeTxt.trim();
+ if (parentNodeTxt.length > 0 && parentNodeTxt.charAt(parentNodeTxt.length-1)=='s') {
+ parentNodeTxt = parentNodeTxt.substring(0, parentNodeTxt.length-1);
+ }
+
+ if (parentNodeTxt == "Slice") {
+ return "&slice=" + selectedNodeTxt;
+ } else if (parentNodeTxt == "Site") {
+ return "&site=" + selectedNodeTxt;
+ } else if (parentNodeTxt == "Node") {
+ return "&node=" + selectedNodeTxt;
+ } else {
+ return "";
+ }
+}
+
+
+function setPageStatInt(labelName, valueName, legend, units, value) {
+ $('.'+labelName).text(legend).show();
+ $('.'+valueName).text(Math.round(value)+units).show();
+}
+
+function setPageStatFloat(labelName, valueName, legend, units, value, dp) {
+ $('.'+labelName).text(legend).show();
+ $('.'+valueName).text(Number(value).toFixed(dp)+units).show();
+}
+
+// ----------------------------------------------------------------------------
+// node count and average cpu utilization
+
+function updatePageAnalyticsData(summaryData) {
+ window.pageAnalyticsData = summaryData;
+ lastRow = summaryData.rows.length-1;
+ setPageStatInt("nodesLabel", "nodesValue", "Node Count", "", summaryData.rows[lastRow]["count_hostname"]);
+ setPageStatInt("cpuLabel", "cpuValue", "Avg Load", "%", summaryData.rows[lastRow]["avg_cpu"]);
+}
+
+function updatePageAnalytics() {
+ $.ajax({
+ url : '/analytics/bigquery/?avg=%cpu&count=%hostname' + getObjectQuery(),
+ dataType : 'json',
+ type : 'GET',
+ success: function(newData)
+ {
+ updatePageAnalyticsData(newData);
+ }
+});
+ setTimeout(updatePageAnalytics, 30000);
+}
+
+setTimeout(updatePageAnalytics, 5000);
+
+// ----------------------------------------------------------------------------
+// bandwidth
+
+function updatePageBandwidthData(summaryData) {
+ window.pageBandData = summaryData;
+ lastRow = summaryData.rows.length-1;
+ setPageStatFloat("bandwidthLabel", "bandwidthValue", "Bandwidth", "Gbps", summaryData.rows[lastRow]["sum_computed_bytes_sent_div_elapsed"]*8.0/1024/1024/1024,2);
+}
+
+function updatePageBandwidth() {
+ $.ajax({
+ url : '/analytics/bigquery/?computed=%bytes_sent/%elapsed' + getObjectQuery(),
+ dataType : 'json',
+ type : 'GET',
+ success: function(newData)
+ {
+ updatePageBandwidthData(newData);
+ }
+});
+ setTimeout(updatePageBandwidth, 30000);
+}
+
+setTimeout(updatePageBandwidth, 5000);
+