diff options
Diffstat (limited to 'python/gras/stats/main.js')
-rw-r--r-- | python/gras/stats/main.js | 71 |
1 files changed, 15 insertions, 56 deletions
diff --git a/python/gras/stats/main.js b/python/gras/stats/main.js index 4658f03..696c061 100644 --- a/python/gras/stats/main.js +++ b/python/gras/stats/main.js @@ -1,48 +1,6 @@ /*********************************************************************** - * Utility functions for stats + * visuals **********************************************************************/ -var gras_extract_block_ids = function(point) -{ - var ids = new Array(); - $('block', point).each(function() - { - ids.push($(this).attr('id')); - }); - return ids; -} - -var gras_extract_total_items = function(point, id) -{ - var block_data = $('block[id="' + id + '"]', point); - var total_items = 0; - $('items_consumed,items_produced', block_data).each(function() - { - total_items += parseInt($(this).text()); - }); - return total_items; -} - -var gras_extract_throughput_delta = function(p0, p1, id) -{ - var d0 = $('block[id="' + id + '"]', p0); - var d1 = $('block[id="' + id + '"]', p1); - var t0 = parseInt($('stats_time', d0).text()); - var t1 = parseInt($('stats_time', d1).text()); - var tps = parseInt($('tps', d0).text()); - var items0 = gras_extract_total_items(p0, id); - var items1 = gras_extract_total_items(p1, id); - return ((items1-items0)*tps)/(t1-t0); -} - -var gras_extract_throughput = function(point, id) -{ - var block_data = $('block[id="' + id + '"]', point); - var start_time = parseInt($('start_time', block_data).text()); - var stats_time = parseInt($('stats_time', block_data).text()); - var tps = parseInt($('tps', block_data).text()); - var total_items = gras_extract_total_items(point, id); - return (total_items*tps)/(stats_time-start_time); -} var gras_setup_individual_charts = function(point) { @@ -59,24 +17,25 @@ var gras_setup_individual_charts = function(point) } }).appendTo(charts); - $(charts).append($(this).attr('id') + '<br />'); + $(charts).append($(this).attr('id') + ' '); }); } -var gras_update_throughput_chart = function(history) + +var gras_update_throughput_chart = function(data) { - if (history.length == 1) return gras_setup_individual_charts(history[0]); - if (history.length < 2) return; + if (data.history.length == 1) return gras_setup_individual_charts(data.history[0]); + if (data.history.length < 2) return; - var ids = gras_extract_block_ids(history[0]); + var ids = data.getBlockIds(); var data_set = [['Throughput'].concat(ids)]; - for (var i = Math.max(history.length-10, 1); i < history.length; i++) + for (var i = Math.max(data.history.length-10, 1); i < data.history.length; i++) { var row = new Array(); row.push(i.toString()); for (var j = 0; j < ids.length; j++) { - row.push(gras_extract_throughput_delta(history[i-1], history[i], ids[j])/1e6); + row.push(gras_extract_throughput_delta(data.history[i-1], data.history[i], ids[j])/1e6); } data_set.push(row); } @@ -98,7 +57,7 @@ var gras_update_throughput_chart = function(history) /*********************************************************************** * Query stats **********************************************************************/ -var gras_query_stats = function(history) +var gras_query_stats = function(data) { $.ajax({ type: "GET", @@ -109,11 +68,11 @@ var gras_query_stats = function(history) { if ($(xml, "gras_stats") !== undefined) { - history.push(xml); - gras_update_throughput_chart(history); + data.appendPoint(xml); + gras_update_throughput_chart(data); } var onceHandle = window.setTimeout(function() { - gras_query_stats(history); + gras_query_stats(data); }, 500); } }); @@ -124,6 +83,6 @@ var gras_query_stats = function(history) **********************************************************************/ var gras_stats_main = function() { - var history = new Array(); - gras_query_stats(history); + var data = new GrasStatsRegistry(); + gras_query_stats(data); } |