diff options
author | Josh Blum | 2013-03-25 02:03:19 -0500 |
---|---|---|
committer | Josh Blum | 2013-03-25 02:03:19 -0500 |
commit | 8b24a30ef875d9fcfa419d9a99c709f32602de94 (patch) | |
tree | 24bd316532f852eb230fb4cf6b3ae6752eae27f1 /python/gras | |
parent | 74b41e15aff63a279d8c1b040d70c7493f104432 (diff) | |
download | sandhi-8b24a30ef875d9fcfa419d9a99c709f32602de94.tar.gz sandhi-8b24a30ef875d9fcfa419d9a99c709f32602de94.tar.bz2 sandhi-8b24a30ef875d9fcfa419d9a99c709f32602de94.zip |
gras: added io total counts chart
Diffstat (limited to 'python/gras')
-rw-r--r-- | python/gras/stats/CMakeLists.txt | 1 | ||||
-rw-r--r-- | python/gras/stats/chart_factory.js | 1 | ||||
-rw-r--r-- | python/gras/stats/chart_handler_breakdown.js | 2 | ||||
-rw-r--r-- | python/gras/stats/chart_overall_throughput.js | 2 | ||||
-rw-r--r-- | python/gras/stats/chart_overhead_compare.js | 2 | ||||
-rw-r--r-- | python/gras/stats/chart_total_io_counts.js | 62 | ||||
-rw-r--r-- | python/gras/stats/main.css | 15 | ||||
-rw-r--r-- | python/gras/stats/main.html | 1 | ||||
-rw-r--r-- | python/gras/stats/main.js | 5 |
9 files changed, 85 insertions, 6 deletions
diff --git a/python/gras/stats/CMakeLists.txt b/python/gras/stats/CMakeLists.txt index 0b91cee..54502a5 100644 --- a/python/gras/stats/CMakeLists.txt +++ b/python/gras/stats/CMakeLists.txt @@ -19,6 +19,7 @@ INSTALL( chart_overhead_compare.js chart_overall_throughput.js chart_handler_breakdown.js + chart_total_io_counts.js main.css DESTINATION ${GR_PYTHON_DIR}/gras/stats COMPONENT ${GRAS_COMP_PYTHON} diff --git a/python/gras/stats/chart_factory.js b/python/gras/stats/chart_factory.js index ac75d30..e0a7dbb 100644 --- a/python/gras/stats/chart_factory.js +++ b/python/gras/stats/chart_factory.js @@ -7,6 +7,7 @@ var gras_chart_get_registry = function() {key:'overhead_compare', name:'Overhead Compare', factory:GrasChartOverheadCompare}, {key:'overall_throughput', name:'Overall Throughput', factory:GrasChartOverallThroughput}, {key:'handler_breakdown', name:'Handler Breakdown', factory:GrasChartHandlerBreakdown}, + {key:'total_io_counts', name:'Total IO Counts', factory:GrasChartTotalIoCounts}, ]; } diff --git a/python/gras/stats/chart_handler_breakdown.js b/python/gras/stats/chart_handler_breakdown.js index cd7e048..8e90fc3 100644 --- a/python/gras/stats/chart_handler_breakdown.js +++ b/python/gras/stats/chart_handler_breakdown.js @@ -29,7 +29,7 @@ GrasChartHandlerBreakdown.prototype.update = function(point) ]); var options = { - width:$('#page').width()/5, + width:GRAS_CHARTS_STD_WIDTH, chartArea:{left:5,top:0,right:5,bottom:0,width:"100%",height:"100%"}, }; diff --git a/python/gras/stats/chart_overall_throughput.js b/python/gras/stats/chart_overall_throughput.js index 7e049d2..4947479 100644 --- a/python/gras/stats/chart_overall_throughput.js +++ b/python/gras/stats/chart_overall_throughput.js @@ -38,7 +38,7 @@ GrasChartOverallThroughput.prototype.update = function(point) var chart_data = google.visualization.arrayToDataTable(data_set); var options = { - width:$('#page').width()*0.4, + width:GRAS_CHARTS_STD_WIDTH*2, chartArea:{left:0,top:0,right:0,bottom:0,width:"100%",height:"85%"}, legend: {'position': 'bottom'}, }; diff --git a/python/gras/stats/chart_overhead_compare.js b/python/gras/stats/chart_overhead_compare.js index 37a1350..c373142 100644 --- a/python/gras/stats/chart_overhead_compare.js +++ b/python/gras/stats/chart_overhead_compare.js @@ -29,7 +29,7 @@ GrasChartOverheadCompare.prototype.update = function(point) var data = google.visualization.arrayToDataTable(data_set) var options = { - width:$('#page').width()/5, + width:GRAS_CHARTS_STD_WIDTH, chartArea:{left:5,top:0,right:5,bottom:0,width:"100%",height:"100%"}, }; diff --git a/python/gras/stats/chart_total_io_counts.js b/python/gras/stats/chart_total_io_counts.js new file mode 100644 index 0000000..6280733 --- /dev/null +++ b/python/gras/stats/chart_total_io_counts.js @@ -0,0 +1,62 @@ +function GrasChartTotalIoCounts(args) +{ + //input checking + if (args.block_ids.length != 1) throw gras_error_dialog( + "GrasChartTotalIoCounts", + "Error making total IO counts chart.\n"+ + "Specify only one block for this chart." + ); + + //settings + this.block_id = args.block_ids[0]; + this.div = $('<div />').attr({class:'chart_total_io_counts'}); + $(args.panel).append(this.div); + this.title = "IO Totals - " + this.block_id; +} + +GrasChartTotalIoCounts.prototype.update = function(point) +{ + var block_data = $('block[id="' + this.block_id + '"]', point); + var ul = $('<ul />'); + $('ul', this.div).remove(); //clear old lists + this.div.append(ul); + + { + var init_time = parseInt($('init_time', block_data).text()); + var stats_time = parseInt($('stats_time', block_data).text()); + var tps = parseInt($('tps', block_data).text()); + var duration = (stats_time - init_time)/tps; + var li = $('<li />'); + var strong = $('<strong />').text('Elapsed' + ': '); + var span = $('<span />').text(duration.toFixed(2).toString() + ' secs'); + li.append(strong); + li.append(span); + ul.append(li); + } + + var stuff = [ + ['Input', 'items', 'items_consumed'], + ['Input', 'tags', 'tags_consumed'], + ['Input', 'msgs', 'msgs_consumed'], + ['Output', 'items', 'items_produced'], + ['Output', 'tags', 'tags_produced'], + ['Output', 'msgs', 'msgs_produced'], + ]; + + $.each(stuff, function(contents_i, contents) + { + var dir = contents[0]; + var units = contents[1]; + var key = contents[2]; + $(key, block_data).each(function(index, elem) + { + var count = parseInt($(elem).text()); + var li = $('<li />'); + var strong = $('<strong />').text(dir + index.toString() + ': '); + var span = $('<span />').text(count.toString() + ' ' + units); + li.append(strong); + li.append(span); + if (count > 0) ul.append(li); + }); + }); +} diff --git a/python/gras/stats/main.css b/python/gras/stats/main.css index 617a400..b5f62f1 100644 --- a/python/gras/stats/main.css +++ b/python/gras/stats/main.css @@ -27,8 +27,17 @@ text-decoration:underline; #chart_designer_blocks input { -margin-right:7px; -margin-left:3px; +margin-right:10px; +margin-left:2px; +} + +.chart_total_io_counts li +{ +list-style-type:none; +text-align: left; +padding: 0px; +margin: 0px; +font-size:90%; } .chart_container @@ -39,7 +48,7 @@ float:left; #page{ padding:10px; color:inherit; -/*background-color:#F0FFF0;*/ +background-color:inherit; } #page h1{ diff --git a/python/gras/stats/main.html b/python/gras/stats/main.html index 0dcd1af..eeb221d 100644 --- a/python/gras/stats/main.html +++ b/python/gras/stats/main.html @@ -14,6 +14,7 @@ <script type="text/javascript" src="/chart_overhead_compare.js"></script> <script type="text/javascript" src="/chart_overall_throughput.js"></script> <script type="text/javascript" src="/chart_handler_breakdown.js"></script> + <script type="text/javascript" src="/chart_total_io_counts.js"></script> <script type="text/javascript" src="/main.js"></script> <script type="text/javascript"> google.load('visualization', '1.0', {'packages':['corechart']}); diff --git a/python/gras/stats/main.js b/python/gras/stats/main.js index 4d9f8c7..577f4dc 100644 --- a/python/gras/stats/main.js +++ b/python/gras/stats/main.js @@ -1,4 +1,9 @@ /*********************************************************************** + * Some constants + **********************************************************************/ +var GRAS_CHARTS_STD_WIDTH = 250; + +/*********************************************************************** * Stats registry data structure **********************************************************************/ var GrasStatsRegistry = function() |