diff options
Diffstat (limited to 'python/gras')
-rw-r--r-- | python/gras/stats/CMakeLists.txt | 1 | ||||
-rw-r--r-- | python/gras/stats/chart_factory.js | 28 | ||||
-rw-r--r-- | python/gras/stats/charts.js | 2 | ||||
-rw-r--r-- | python/gras/stats/main.css | 13 | ||||
-rw-r--r-- | python/gras/stats/main.html | 30 | ||||
-rw-r--r-- | python/gras/stats/main.js | 4 |
6 files changed, 74 insertions, 4 deletions
diff --git a/python/gras/stats/CMakeLists.txt b/python/gras/stats/CMakeLists.txt index a8e4828..9aa2ace 100644 --- a/python/gras/stats/CMakeLists.txt +++ b/python/gras/stats/CMakeLists.txt @@ -17,6 +17,7 @@ INSTALL( registry.js utils.js charts.js + chart_factory.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 new file mode 100644 index 0000000..04f0965 --- /dev/null +++ b/python/gras/stats/chart_factory.js @@ -0,0 +1,28 @@ +/*********************************************************************** + * One time setup + **********************************************************************/ +var gras_chart_factory_setup = function(registry) +{ + if (registry.history.length != 1) return; + var id = $('gras_stats:first', registry.history[0]).attr('id'); + $('#top_name').append(' - ' + id); + $.each(registry.getBlockIds(), function(index, id) + { + var div = $('.chart_designer_blocks').get(index%2); + $(div).append('<label>' + id + '</label>'); + var input = $('<input />').attr({ + type: 'checkbox', + name: id + }); + input.attr('checked', false); + $(div).append(input); + }); +} + +/*********************************************************************** + * chart factory dispatcher + **********************************************************************/ +var gras_chart_factory_dispatcher = function() +{ + alert('foo'); +} diff --git a/python/gras/stats/charts.js b/python/gras/stats/charts.js index 0fb6952..ed264ad 100644 --- a/python/gras/stats/charts.js +++ b/python/gras/stats/charts.js @@ -13,8 +13,6 @@ var gras_update_throughput_chart = function(registry) { if (registry.history.length == 1) { - var id = $('gras_stats:first', registry.history[0]).attr('id'); - $('h1:first').append(' - ' + id); gras_setup_individual_charts(registry); return; } diff --git a/python/gras/stats/main.css b/python/gras/stats/main.css index 43ecae1..0f05cef 100644 --- a/python/gras/stats/main.css +++ b/python/gras/stats/main.css @@ -10,6 +10,19 @@ color:black; background-color:white; } +.chart_designer_blocks label +{ +float:left; +text-decoration:underline; +} + +.chart_designer_blocks input +{ +float:left; +margin-right:7px; +margin-left:3px; +} + #overall_chart_pie table { float:left; diff --git a/python/gras/stats/main.html b/python/gras/stats/main.html index 9217847..5ad40f6 100644 --- a/python/gras/stats/main.html +++ b/python/gras/stats/main.html @@ -5,11 +5,13 @@ <meta http-equiv="Content-Style-Type" content="text/css" /> <title>GRAS Status Monitor</title> <link rel="stylesheet" type="text/css" href="/main.css" /> - <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> + <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script> + <script type="text/javascript" src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript" src="/registry.js"></script> <script type="text/javascript" src="/utils.js"></script> <script type="text/javascript" src="/charts.js"></script> + <script type="text/javascript" src="/chart_factory.js"></script> <script type="text/javascript" src="/main.js"></script> <script type="text/javascript"> google.load('visualization', '1.0', {'packages':['corechart']}); @@ -18,7 +20,31 @@ </head> <body id='page'> - <h1>GRAS Status Monitor</h1> + <div id="chart_designer"> + <table> + <tr> + <th id="top_name">Blocks Available</th> + <th>Chart Types</th> + <th>Global Options</th> + </tr> + <tr> + <td class="chart_designer_blocks"></td> + <td> + <select> + <option value="overhead_compare">Overhead Compare</option> + <option value="overall_throughput">Overall Throughput</option> + <option value="handler_breakdown">Handler Breakdown</option> + </select> + </td> + <td>Updates/sec: <input 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> + </tr> + </table> + </div> <div id="overall_config"> <table> <tr><th colspan="2">Throughput options</th></tr> diff --git a/python/gras/stats/main.js b/python/gras/stats/main.js index dc04e73..5b27099 100644 --- a/python/gras/stats/main.js +++ b/python/gras/stats/main.js @@ -15,6 +15,7 @@ var gras_query_stats = function(registry) if ($(xml, "gras_stats") !== undefined) { registry.appendPoint(xml); + gras_chart_factory_setup(registry); gras_update_throughput_chart(registry); gras_update_time_compare_chart(registry); gras_update_per_block_charts(registry); @@ -40,6 +41,9 @@ var gras_stats_main = function() gras_setup_overall_chart(registry); gras_setup_overall_chart_pie(registry); + //install callback for chart factory + $('#chart_factory_button').click(gras_chart_factory_dispatcher); + //init overall config gui element for rate var overall_rate = $('input[name="rate"]', overall_config); overall_rate.val(registry.overall_rate); |