diff options
author | Josh Blum | 2013-03-23 15:51:48 -0500 |
---|---|---|
committer | Josh Blum | 2013-03-23 15:51:48 -0500 |
commit | 73be1e48f9cc9229cb18750074d1798346acd0fd (patch) | |
tree | 64010c462340ec3f936348971e11e3756743cf61 /python/gras | |
parent | 418aa7ea25386d7d735f60b6b4c2f75be19b7d1c (diff) | |
download | sandhi-73be1e48f9cc9229cb18750074d1798346acd0fd.tar.gz sandhi-73be1e48f9cc9229cb18750074d1798346acd0fd.tar.bz2 sandhi-73be1e48f9cc9229cb18750074d1798346acd0fd.zip |
gras: filled in the other chart types
Diffstat (limited to 'python/gras')
-rw-r--r-- | python/gras/stats/chart_handler_breakdown.js | 33 | ||||
-rw-r--r-- | python/gras/stats/chart_overall_throughput.js | 37 | ||||
-rw-r--r-- | python/gras/stats/main.html | 4 | ||||
-rw-r--r-- | python/gras/stats/main.js | 4 |
4 files changed, 70 insertions, 8 deletions
diff --git a/python/gras/stats/chart_handler_breakdown.js b/python/gras/stats/chart_handler_breakdown.js index c938482..a8d7b15 100644 --- a/python/gras/stats/chart_handler_breakdown.js +++ b/python/gras/stats/chart_handler_breakdown.js @@ -1,9 +1,38 @@ function GrasChartHandlerBreakdown(args) { - + //input checking + if (args.block_ids.length != 1) gras_error_dialog( + "GrasChartHandlerBreakdown", + "Error making handler breakdown chart.\n"+ + "Specify only one block for this chart." + ); + + //save enable + this.block_id = args.block_ids[0]; + + //make new chart + this.chart = new google.visualization.PieChart(args.panel); + + this.title = "Handler Breakdown - " + this.block_id; } GrasChartHandlerBreakdown.prototype.update = function(history) { - + var point = history[history.length-1]; + var percents = gras_extract_percent_times(point, this.block_id); + var data = google.visualization.arrayToDataTable([ + ['Task', 'Percent'], + ['Work prep', percents['prep']], + ['Work task', percents['work']], + ['Work post', percents['post']], + ['Input tasks', percents['input']], + ['Output tasks', percents['output']], + ]); + + var options = { + width:$('#page').width()/5, + chartArea:{left:5,top:0,right:5,bottom:0,width:"100%",height:"100%"}, + }; + + this.chart.draw(data, options); }; diff --git a/python/gras/stats/chart_overall_throughput.js b/python/gras/stats/chart_overall_throughput.js index 04c532e..d9c6730 100644 --- a/python/gras/stats/chart_overall_throughput.js +++ b/python/gras/stats/chart_overall_throughput.js @@ -1,9 +1,42 @@ function GrasChartOverallThroughput(args) { - + //save enables + this.ids = args.block_ids; + + //input checking + if (this.ids.length <= 1) gras_error_dialog( + "GrasChartOverallThroughput", + "Error making overall thoughput chart.\n"+ + "Specify at least 2 blocks for this chart." + ); + + //make new chart + this.chart = new google.visualization.LineChart(args.panel); + + this.title = "Overall Throughput vs Time"; } GrasChartOverallThroughput.prototype.update = function(history) { - + if (history.length < 2) return; + + var data_set = [['Throughput'].concat(this.ids)]; + 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 < this.ids.length; j++) + { + row.push(gras_extract_throughput_delta(history[i-1], history[i], this.ids[j])/1e6); + } + data_set.push(row); + } + + var chart_data = google.visualization.arrayToDataTable(data_set); + var options = { + width:$('#page').width()*0.33, + chartArea:{left:0,top:0,right:0,bottom:0,width:"100%",height:"85%"}, + legend: {'position': 'bottom'}, + }; + this.chart.draw(chart_data, options); }; diff --git a/python/gras/stats/main.html b/python/gras/stats/main.html index 27215bf..2782d28 100644 --- a/python/gras/stats/main.html +++ b/python/gras/stats/main.html @@ -34,12 +34,12 @@ <tr> <td class="chart_designer_blocks"></td> <td><select id="chart_type_selector" /></td> - <td>Updates/sec: <input type="number" name="rate" min="1" max="10" size="4" /></td> + <td>Updates/sec: <input id="chart_update_rate" type="number" name="rate" min="1" max="10" size="4" /></td> </tr> <tr> <td class="chart_designer_blocks"></td> <td><input type="submit" value="Create New Chart" id="chart_factory_button" /></td> - <td><label>Active?</label><input type="checkbox" name="active" /></td> + <td><label>Active?</label><input id="chart_active_state" type="checkbox" name="active" /></td> </tr> </table> </div> diff --git a/python/gras/stats/main.js b/python/gras/stats/main.js index 4c935de..956405b 100644 --- a/python/gras/stats/main.js +++ b/python/gras/stats/main.js @@ -48,7 +48,7 @@ var gras_stats_main = function() gras_chart_factory_init(); //init overall config gui element for rate - var overall_rate = $('input[name="rate"]', overall_config); + var overall_rate = $('#chart_update_rate'); overall_rate.val(registry.overall_rate); overall_rate.change(function() { @@ -57,7 +57,7 @@ var gras_stats_main = function() //init overall config gui element for activity registry.overall_active = true; - var overall_active = $('input[name="active"]', overall_config); + var overall_active = $('#chart_active_state'); overall_active.attr('checked', registry.overall_active); overall_active.change(function() { |