From 418aa7ea25386d7d735f60b6b4c2f75be19b7d1c Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Sat, 23 Mar 2013 15:28:34 -0500 Subject: gras: significant process on factory and filling in overhead_compare --- python/gras/stats/chart_factory.js | 49 ++++++++++++++++++++++----- python/gras/stats/chart_handler_breakdown.js | 5 +++ python/gras/stats/chart_overall_throughput.js | 5 +++ python/gras/stats/chart_overhead_compare.js | 36 +++++++++++++++++++- python/gras/stats/main.css | 5 +++ python/gras/stats/main.html | 1 + python/gras/stats/main.js | 4 +++ 7 files changed, 96 insertions(+), 9 deletions(-) (limited to 'python') diff --git a/python/gras/stats/chart_factory.js b/python/gras/stats/chart_factory.js index f2cc8f2..1c49717 100644 --- a/python/gras/stats/chart_factory.js +++ b/python/gras/stats/chart_factory.js @@ -1,7 +1,7 @@ /*********************************************************************** * One time setup **********************************************************************/ -var gras_chart_factory_setup = function(registry) +function gras_chart_factory_setup(registry) { if (registry.history.length != 1) return; var id = $('gras_stats:first', registry.history[0]).attr('id'); @@ -19,10 +19,16 @@ var gras_chart_factory_setup = function(registry) }); } +/*********************************************************************** + * chart factory registry (filled in init) + **********************************************************************/ +var gras_chart_factory_registry = new Array(); +var gras_chart_active_registry = new Array(); + /*********************************************************************** * chart factory dispatcher **********************************************************************/ -var gras_chart_factory_dispatcher = function() +function gras_chart_factory_dispatcher() { //step 1) get a list of the selected blocks var selected_blocks = new Array(); @@ -31,21 +37,46 @@ var gras_chart_factory_dispatcher = function() var input = $(input); if (input.is(':checked')) { - selected_blocks.append(input.attr('name')); + selected_blocks.push(input.attr('name')); } }); //step 2) get the type of chart to create var chart_type = $('#chart_type_selector').val(); - //step 3) input validations + //step 3) create the chart given options + + //create containers + var chart_box = $('').attr({class:'chart_container'}); + var tr = $(''); + var td = $(''); + var th_title = $('
'); + tr.append(td); + + //call into the factory + var chart = new gras_chart_factory_registry[chart_type]({ + block_ids:selected_blocks, + panel:td.get(0), + }); + + //setup the title + var tr_title = $('
'); + tr_title.append(th_title); + th_title.text(chart.title); + + //register the chart + gras_chart_active_registry.push(chart); + $('#charts_panel').append(chart_box); + + //finish gui building + chart_box.append(tr_title); + chart_box.append(tr); } /*********************************************************************** * chart factory init **********************************************************************/ -var gras_chart_registry = new Array(); -var gras_chart_factory_init = function() +function gras_chart_factory_init() { //install callback for chart factory $('#chart_factory_button').click(gras_chart_factory_dispatcher); @@ -60,7 +91,9 @@ var gras_chart_factory_init = function() //init the chart selection input $.each(chart_options, function(index, options) { - gras_chart_registry[options['key']] = options['factory']; - $('#chart_type_selector').append(''); + gras_chart_factory_registry[options.key] = options.factory; + var option = $('
+
diff --git a/python/gras/stats/main.js b/python/gras/stats/main.js index 0ad500e..4c935de 100644 --- a/python/gras/stats/main.js +++ b/python/gras/stats/main.js @@ -19,6 +19,10 @@ var gras_query_stats = function(registry) gras_update_throughput_chart(registry); gras_update_time_compare_chart(registry); gras_update_per_block_charts(registry); + $.each(gras_chart_active_registry, function(index, chart) + { + chart.update(registry.history); + }); } registry.timeout_handle = window.setTimeout(function() -- cgit
Throughput options