blob: 9de39ff94c5215a8b85fcf2250732b100d2d9faf [file] [log] [blame]
Scott Baker19244ec2014-04-28 23:30:04 -07001<div id="tabs-6">
2</div>
3
4<script>
5
6function domain_name_sort(a,b) {
7 parts_a = a.split(".");
8 parts_b = b.split(".");
9 parts_a = parts_a.reverse();
10 parts_b = parts_b.reverse();
11 a = parts_a.join(".");
12 b = parts_b.join(".");
13 return ((a < b) ? -1 : ((a > b) ? 1 : 0));
14}
15
16jQuery.fn.dataTableExt.oSort['domain-name-asc'] = function(a,b) {
17 return domain_name_sort(a,b);
18};
19
20jQuery.fn.dataTableExt.oSort['domain-name-desc'] = function(a,b) {
21 retuirn -domain_name_sort(a,b);
22};
23
24function updateCDNNodeData(data) {
25 $('#tabs-6').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="dynamic_cdn_nodes"></table>' );
26 var actualEntries = [];
27
28 var rows = data.rows;
29 for (row in rows) {
30 hostname = rows[row]['hostname'];
31 bytes_sent = rows[row]['sum_bytes_sent'];
32 bytes_hit = rows[row]['sum_bytes_hit'];
33 elapsed = rows[row]['sum_elapsed'];
34 healthy = rows[row]['sum_healthy'];
35
36 if (bytes_sent > 0) {
37 hit_ratio = parseInt( bytes_hit * 100.0 / bytes_sent );
38 } else {
39 hit_ratio = 0;
40 }
41
Scott Bakerb214c2a2014-04-29 09:58:17 -070042 Mbps = parseInt(rows[row]['sum_computed_bytes_sent_div_elapsed'] * 8.0 / 1024.0 / 1024.0);
Scott Baker19244ec2014-04-28 23:30:04 -070043
44 if (healthy>0) {
45 healthyStr = "ok";
46 } else {
47 healthyStr = "bad";
48 }
49
50 actualEntries.push([hostname, healthyStr, Mbps, hit_ratio]);
51 }
52 oTable = $('#dynamic_cdn_nodes').dataTable( {
53 "bJQueryUI": true,
54 "aaData": actualEntries,
55 "bStateSave": true,
56 "aoColumns": [
57 { "sTitle": "Hostname", sType: "domain-name" },
58 { "sTitle": "Healthy" },
59 { "sTitle": "Mbps" , sClass: "alignCenter"},
60 { "sTitle": "Hit Ratio" , sClass: "alignCenter"},
61 ],
62 } );
63}
64
65function updateCDNNodes() {
Scott Bakerb214c2a2014-04-29 09:58:17 -070066 var url= '/analytics/bigquery/?event=hpc_heartbeat&sum=@bytes_sent,@bytes_hit,@healthy,@elapsed&computed=@bytes_sent/@elapsed&groupBy=@hostname&cached=1&cachedGroupBy=@hostname';
Scott Baker19244ec2014-04-28 23:30:04 -070067 console.log(url);
68 $.ajax({
69 url: url,
70 dataType : 'json',
71 type : 'GET',
72 success: function(newData)
73 {
74 updateCDNNodeData(newData);
75 }
76});
77 setTimeout(updateCDNNodes, 30000);
78}
79
80setTimeout(updateCDNNodes, 5000);
81</script>