From 41b1d2af1cf8a92bcef0722daa75a19c90099327 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 19 Feb 2013 04:03:28 -0600 Subject: gras: chart tweaks for tonight --- python/gras/stats/main.html | 2 +- python/gras/stats/main.js | 33 +++++++++++++++++++++++++++------ 2 files changed, 28 insertions(+), 7 deletions(-) (limited to 'python') diff --git a/python/gras/stats/main.html b/python/gras/stats/main.html index a58263a..6e9f773 100644 --- a/python/gras/stats/main.html +++ b/python/gras/stats/main.html @@ -14,7 +14,7 @@

Default

-
+
diff --git a/python/gras/stats/main.js b/python/gras/stats/main.js index a29076b..1cf50c6 100644 --- a/python/gras/stats/main.js +++ b/python/gras/stats/main.js @@ -11,31 +11,52 @@ var gras_extract_block_ids = function(point) return ids; } -var gras_extract_throughput = function(point, id) +var gras_extract_total_items = 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 = 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_update_throughput_chart = function(history) { + if (history.length < 2) return; + var ids = gras_extract_block_ids(history[0]); var data_set = [['Throughput'].concat(ids)]; - for (var i = Math.max(history.length-10, 0); i < history.length; i++) + for (var i = Math.max(history.length-10, 1); i < history.length; i++) { var row = new Array(); row.push(i.toString()); for (var j = 0; j < ids.length; j++) { - row.push(gras_extract_throughput(history[i], ids[j])/1e6); + row.push(gras_extract_throughput_delta(history[i-1], history[i], ids[j])/1e6); } data_set.push(row); } -- cgit