diff options
-rw-r--r-- | python/gras/stats/main.html | 2 | ||||
-rw-r--r-- | python/gras/stats/main.js | 33 |
2 files changed, 28 insertions, 7 deletions
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 @@ <body> <p id="tps">Default</p> - <div id="chart_div"></div> + <div id="chart_div" style="width:1000px;height:800px;"></div> </body> </html> 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); } |