summaryrefslogtreecommitdiff
path: root/python/gras/stats
diff options
context:
space:
mode:
authorJosh Blum2013-03-26 00:41:12 -0500
committerJosh Blum2013-03-26 00:41:12 -0500
commit38b24b7ef6e3d82c1a14b93c4ffafadbc2f1ae9b (patch)
treee33b921fb968ff14f260ee5b4afa254733ee37de /python/gras/stats
parenta23b425c689ac66cd4d6e986b8a4292e19fc9710 (diff)
downloadsandhi-38b24b7ef6e3d82c1a14b93c4ffafadbc2f1ae9b.tar.gz
sandhi-38b24b7ef6e3d82c1a14b93c4ffafadbc2f1ae9b.tar.bz2
sandhi-38b24b7ef6e3d82c1a14b93c4ffafadbc2f1ae9b.zip
gras: rename stats to query
Diffstat (limited to 'python/gras/stats')
-rw-r--r--python/gras/stats/CMakeLists.txt26
-rw-r--r--python/gras/stats/__init__.py52
-rw-r--r--python/gras/stats/chart_factory.js209
-rw-r--r--python/gras/stats/chart_handler_breakdown.js37
-rw-r--r--python/gras/stats/chart_overall_throughput.js46
-rw-r--r--python/gras/stats/chart_overhead_compare.js37
-rw-r--r--python/gras/stats/chart_total_io_counts.js62
-rw-r--r--python/gras/stats/main.css161
-rw-r--r--python/gras/stats/main.html49
-rw-r--r--python/gras/stats/main.js76
-rw-r--r--python/gras/stats/utils.js84
11 files changed, 0 insertions, 839 deletions
diff --git a/python/gras/stats/CMakeLists.txt b/python/gras/stats/CMakeLists.txt
deleted file mode 100644
index 54502a5..0000000
--- a/python/gras/stats/CMakeLists.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-########################################################################
-# Install rules
-########################################################################
-include(GrPython)
-
-GR_PYTHON_INSTALL(
- FILES
- __init__.py
- DESTINATION ${GR_PYTHON_DIR}/gras/stats
- COMPONENT ${GRAS_COMP_PYTHON}
-)
-
-INSTALL(
- FILES
- main.html
- main.js
- utils.js
- chart_factory.js
- 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/__init__.py b/python/gras/stats/__init__.py
deleted file mode 100644
index 330abd4..0000000
--- a/python/gras/stats/__init__.py
+++ /dev/null
@@ -1,52 +0,0 @@
-import time
-import BaseHTTPServer
-
-import os
-__path__ = os.path.abspath(os.path.dirname(__file__))
-
-server_registry = dict()
-
-class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
-
- def do_HEAD(s):
- s.send_response(200)
- s.send_header("Content-type", "text/html")
- s.end_headers()
-
- def do_GET(s):
- """Respond to a GET request."""
- if s.path.endswith('stats.xml'):
- s.send_response(200)
- s.send_header("Content-type", "text/xml")
- s.end_headers()
- s.wfile.write(server_registry[s.server].get_stats(""))
- return
- path = s.path
- if path.startswith('/'): path = path[1:]
- if not path: path = 'main.html'
- target = os.path.join(__path__, path)
- if os.path.exists(target):
- s.send_response(200)
- if target.endswith('.js'): s.send_header("Content-type", "text/javascript")
- elif target.endswith('.css'): s.send_header("Content-type", "text/css")
- else: s.send_header("Content-type", "text")
- s.end_headers()
- s.wfile.write(open(target).read())
- else:
- s.send_response(404)
- s.send_header("Content-type", "text/html")
- s.end_headers()
- s.wfile.write("<p>not found</p>")
-
-import select
-
-class http_server(object):
- def __init__(self, args, top_block):
- server_class = BaseHTTPServer.HTTPServer
- self._httpd = server_class(args, MyHandler)
- server_registry[self._httpd] = top_block
-
- def serve_forever(self):
- while True:
- try: self._httpd.serve_forever()
- except select.error: pass
diff --git a/python/gras/stats/chart_factory.js b/python/gras/stats/chart_factory.js
deleted file mode 100644
index 3d2b0bc..0000000
--- a/python/gras/stats/chart_factory.js
+++ /dev/null
@@ -1,209 +0,0 @@
-/***********************************************************************
- * Chart registry for now chart types
- **********************************************************************/
-var gras_chart_get_registry = function()
-{
- return [
- {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:'I/O port Totals', factory:GrasChartTotalIoCounts},
- ];
-}
-
-/***********************************************************************
- * One time setup
- **********************************************************************/
-function gras_chart_factory_setup(registry, point)
-{
- var id = $('gras_stats:first', point).attr('id');
- registry.top_id = id;
- $('#top_name').append(' - ' + id);
- $('block', point).each(function(index, block)
- {
- var id = $(block).attr('id');
- registry.block_ids.push(id);
- var container = $('#chart_designer_blocks');
- var div = $('<div />');
- $(div).append('<label>' + id + '</label>');
- var input = $('<input />').attr({
- type: 'checkbox',
- name: id
- });
- input.attr('checked', false);
- $(div).append(input);
- $(container).append(div);
- });
-}
-
-/***********************************************************************
- * chart factory input handler
- **********************************************************************/
-function gras_chart_factory_handle_input(registry)
-{
- //get a list of the selected blocks
- var selected_blocks = new Array();
- $.each($('#chart_designer_blocks input'), function(index, input)
- {
- var input = $(input);
- if (input.is(':checked'))
- {
- selected_blocks.push(input.attr('name'));
- }
- });
-
- //get the type of chart to create
- var chart_type = $('#chart_type_selector').val();
-
- //create args for the factory make
- var args = {
- block_ids:selected_blocks,
- chart_type:chart_type,
- };
-
- //call into the factory with args
- gras_chart_factory_make(registry, args);
-}
-
-/***********************************************************************
- * save/load to/from local storage
- **********************************************************************/
-function gras_chart_save(registry)
-{
- if (typeof(Storage) === "undefined") return;
- var all_args = new Array();
- $.each(registry.active_charts, function(index, info)
- {
- all_args.push(info.args);
- });
- localStorage.setItem(registry.top_id, JSON.stringify(all_args));
-}
-
-function gras_chart_load(registry)
-{
- if (typeof(Storage) === "undefined") return;
- var chart_args = JSON.parse(localStorage.getItem(registry.top_id));
- if (!chart_args) return;
- $.each(chart_args, function(args_i, args)
- {
- //check that the blocks saved in the args actually exist
- var do_make = true;
- $.each(args.block_ids, function(block_id_i, block_id)
- {
- if ($.inArray(block_id, registry.block_ids) < 0)
- {
- do_make = false;
- }
- });
- if (do_make) gras_chart_factory_make(registry, args);
- });
-}
-
-/***********************************************************************
- * chart factory make routine
- **********************************************************************/
-function gras_chart_factory_make(registry, args)
-{
- //create containers
- var chart_box = $('<table />').attr({class:'chart_container'});
- var tr = $('<tr />');
- var td = $('<td />');
- tr.append(td);
-
- //call into the factory
- args.panel = td.get(0);
- try
- {
- var chart = new registry.chart_factories[args.chart_type](args);
- }
- catch(err)
- {
- return;
- }
-
- //setup the title
- var tr_title = $('<tr />');
- var th_title = $('<th />');
- tr_title.append(th_title);
- th_title.text(chart.title);
-
- //register the chart
- var chart_info = {chart:chart,args:args};
- registry.active_charts.push(chart_info);
- $('#charts_panel').append(chart_box);
-
- //close button
- var close_div = $('<div/>').attr({class:'chart_designer_block_close'});
- var close_href = $('<a />').attr({href:'#', class:"ui-dialog-titlebar-close ui-corner-all", role:"button"});
- var close_span = $('<span />').attr({class:"ui-icon ui-icon-closethick"}).text('close');
- close_div.append(close_href);
- close_href.append(close_span);
- th_title.append(close_div);
- $(close_href).click(function()
- {
- var index = $.inArray(chart_info, registry.active_charts);
- registry.active_charts.splice(index, 1);
- chart_box.remove();
- gras_chart_save(registry);
- });
- gras_chart_save(registry);
-
- //finish gui building
- chart_box.append(tr_title);
- chart_box.append(tr);
-}
-
-/***********************************************************************
- * chart factory handle online/offline
- **********************************************************************/
-function gras_chart_factory_online(registry)
-{
- if (!registry.online) registry.offline_count++;
- if (registry.online) $('#page').css('background-color', '#EEEEFF');
- else if (registry.offline_count%2 == 0) $('#page').css('background-color', '#FF4848');
- else if (registry.offline_count%2 == 1) $('#page').css('background-color', '#EEEEFF');
-}
-
-/***********************************************************************
- * chart factory init
- **********************************************************************/
-function gras_chart_factory_init(registry)
-{
- //init registry containers
- registry.active_charts = new Array();
- registry.chart_factories = new Array();
-
- //install callback for chart factory
- $('#chart_factory_button').click(function()
- {
- gras_chart_factory_handle_input(registry);
- });
-
- //init the chart selection input
- $.each(gras_chart_get_registry(), function(index, options)
- {
- registry.chart_factories[options.key] = options.factory;
- var option = $('<option />').attr({value: options.key});
- option.text(options.name);
- $('#chart_type_selector').append(option);
- });
-
- //init overall config gui element for rate
- var overall_rate = $('#chart_update_rate');
- overall_rate.val(registry.overall_rate);
- overall_rate.change(function()
- {
- registry.overall_rate = overall_rate.val();
- });
-
- //init overall config gui element for activity
- registry.overall_active = true;
- var overall_active = $('#chart_active_state');
- overall_active.attr('checked', registry.overall_active);
- overall_active.change(function()
- {
- registry.overall_active = overall_active.is(':checked');
- if (registry.overall_active) gras_query_stats(registry);
- else window.clearInterval(registry.timeout_handle);
- });
-}
diff --git a/python/gras/stats/chart_handler_breakdown.js b/python/gras/stats/chart_handler_breakdown.js
deleted file mode 100644
index 8e90fc3..0000000
--- a/python/gras/stats/chart_handler_breakdown.js
+++ /dev/null
@@ -1,37 +0,0 @@
-function GrasChartHandlerBreakdown(args)
-{
- //input checking
- if (args.block_ids.length != 1) throw 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(point)
-{
- 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:GRAS_CHARTS_STD_WIDTH,
- 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
deleted file mode 100644
index 4947479..0000000
--- a/python/gras/stats/chart_overall_throughput.js
+++ /dev/null
@@ -1,46 +0,0 @@
-function GrasChartOverallThroughput(args)
-{
- //save enables
- this.ids = args.block_ids;
-
- //input checking
- if (this.ids.length == 0) throw gras_error_dialog(
- "GrasChartOverallThroughput",
- "Error making overall thoughput chart.\n"+
- "Specify at least 1 block for this chart."
- );
-
- //make new chart
- this.chart = new google.visualization.LineChart(args.panel);
-
- this.title = "Overall Throughput vs Time";
- this.history = new Array();
-}
-
-GrasChartOverallThroughput.prototype.update = function(point)
-{
- this.history.push(point);
- if (this.history.length == 1) this.p0 = point;
- if (this.history.length < 2) return;
- if (this.history.length > 10) this.history.splice(0, 1);
-
- var data_set = [['Throughput'].concat(this.ids)];
- for (var i = 1; i < this.history.length; i++)
- {
- var row = new Array();
- row.push(gras_extract_stat_time_delta(this.p0, this.history[i]).toFixed(2).toString());
- for (var j = 0; j < this.ids.length; j++)
- {
- row.push(gras_extract_throughput_delta(this.history[i-1], this.history[i], this.ids[j])/1e6);
- }
- data_set.push(row);
- }
-
- var chart_data = google.visualization.arrayToDataTable(data_set);
- var options = {
- width:GRAS_CHARTS_STD_WIDTH*2,
- 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/chart_overhead_compare.js b/python/gras/stats/chart_overhead_compare.js
deleted file mode 100644
index c373142..0000000
--- a/python/gras/stats/chart_overhead_compare.js
+++ /dev/null
@@ -1,37 +0,0 @@
-function GrasChartOverheadCompare(args)
-{
- //save enables
- this.ids = args.block_ids;
-
- //input checking
- if (this.ids.length <= 1) throw gras_error_dialog(
- "GrasChartOverheadCompare",
- "Error making overhead compare chart.\n"+
- "Specify at least 2 blocks for this chart."
- );
-
- //make new chart
- this.chart = new google.visualization.PieChart(args.panel);
-
- this.title = "Overhead Comparison";
-}
-
-GrasChartOverheadCompare.prototype.update = function(point)
-{
- var data_set = new Array();
- data_set.push(['Task', 'Percent']);
- $.each(this.ids, function(index, id)
- {
- var percents = gras_extract_percent_times(point, id);
- data_set.push([id, percents['total']]);
- });
-
- var data = google.visualization.arrayToDataTable(data_set)
-
- var options = {
- width:GRAS_CHARTS_STD_WIDTH,
- 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_total_io_counts.js b/python/gras/stats/chart_total_io_counts.js
deleted file mode 100644
index 5aaaf24..0000000
--- a/python/gras/stats/chart_total_io_counts.js
+++ /dev/null
@@ -1,62 +0,0 @@
-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 = "I/O 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
deleted file mode 100644
index b5f62f1..0000000
--- a/python/gras/stats/main.css
+++ /dev/null
@@ -1,161 +0,0 @@
-*{
-margin:0px;
-padding:0px;
-}
-
-body{
-font-family:Arial, Helvetica, sans-serif;
-font-size:9pt;
-color:black;
-background-color:white;
-}
-
-.chart_designer_block_close
-{
-float:right;
-}
-
-#chart_designer_blocks div
-{
-float:left;
-}
-
-#chart_designer_blocks label
-{
-text-decoration:underline;
-}
-
-#chart_designer_blocks input
-{
-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
-{
-float:left;
-}
-
-#page{
-padding:10px;
-color:inherit;
-background-color:inherit;
-}
-
-#page h1{
-font-size:130%;
-border-left:1px solid #333333;
-border-bottom:1px solid #333333;
-text-align:left;
-padding:10px 0px 10px 10px;
-margin:10px 5px 20px 5px;
-color:#333333;
-background-color:inherit;
-}
-
-#page h2{
-font-size:130%;
-text-align:center;
-padding:20px 0px 10px 0px;
-color:#333333;
-background-color:inherit;
-}
-
-#page h3{
-font-size:110%;
-text-align:left;
-padding:15px 0px 5px 10px;
-text-decoration:underline;
-color:#333333;
-background-color:inherit;
-}
-
-#page h4{
-font-size:105%;
-text-align:center;
-padding:5px 0px 3px 0px;
-text-decoration:underline;
-}
-
-#page p{
-text-indent:20px;
-padding:5px 0px 5px 10px;
-}
-
-#page strong{
-}
-
-#page em{
-}
-
-#page li{
-padding:5px 5px 0px 3px;
-}
-
-#page ul, #page ol{
-padding:5px 0px 5px 40px;
-}
-
-#page img{
-margin:10px auto 10px auto;
-display:block;
-border-style:none;
-}
-
-#page a:link, #page a:visited{
-color:#236B8E;
-background-color:inherit;
-text-decoration:none;
-}
-
-#page a:hover{
-color:#4985D6;
-background-color:inherit;
-text-decoration:none;
-}
-
-#page pre{
-border:1px inset #333333;
-padding:5px;
-margin:10px 5px 10px 5px;
-color:inherit;
-background-color:#FCFCFC;
-font-size:90%;
-}
-
-#page hr{
-margin:10px 0px 0px 0px;
-}
-
-#page table{
-padding:5px;
-}
-
-#page th{
-padding:3px;
-border:1px solid #333333;
-text-align:center;
-color:inherit;
-background-color:#ECECEC;
-}
-
-#page tr{
-}
-
-#page td{
-padding:3px;
-border:1px solid #333333;
-text-align:center;
-color:inherit;
-background-color:#FCFCFC;
-}
-
diff --git a/python/gras/stats/main.html b/python/gras/stats/main.html
deleted file mode 100644
index eeb221d..0000000
--- a/python/gras/stats/main.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
- <meta http-equiv="Content-Style-Type" content="text/css" />
- <title>GRAS Status Monitor</title>
- <link rel="stylesheet" type="text/css" href="/main.css" />
- <link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
- <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="/utils.js"></script>
- <script type="text/javascript" src="/chart_factory.js"></script>
- <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']});
- google.setOnLoadCallback(gras_stats_main);
- </script>
-</head>
-
-<body id='page'>
- <div id="chart_designer">
- <table>
- <tr>
- <th id="top_name">Blocks Available</th>
- <th>Chart Types</th>
- <th>Global Options</th>
- </tr>
- <tr>
- <td id="chart_designer_blocks" rowspan='2'></td>
- <td><select id="chart_type_selector" /></td>
- <td><label>Updates/sec:</label><input id="chart_update_rate" type="number" name="rate" min="1" max="10" size="4" /></td>
- </tr>
- <tr>
- <td><input type="submit" value="Create New Chart" id="chart_factory_button" /></td>
- <td><label>Active?</label><input id="chart_active_state" type="checkbox" name="active" /></td>
- </tr>
- </table>
- </div>
- <div id="charts_panel"></div>
- <div style="display:none" id="div-dialog-warning">
- </div>
-</body>
-
-</html>
diff --git a/python/gras/stats/main.js b/python/gras/stats/main.js
deleted file mode 100644
index a27c0b7..0000000
--- a/python/gras/stats/main.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/***********************************************************************
- * Some constants
- **********************************************************************/
-var GRAS_CHARTS_STD_WIDTH = 250;
-
-/***********************************************************************
- * Stats registry data structure
- **********************************************************************/
-var GrasStatsRegistry = function()
-{
- this.init = false;
- this.overall_rate = 2.0;
- this.overall_active = true;
- this.block_ids = new Array();
- this.top_id = 'top';
- this.online = true;
- this.offline_count = 0;
-}
-
-/***********************************************************************
- * Query stats
- **********************************************************************/
-var gras_query_stats = function(registry)
-{
- $.ajax({
- type: "GET",
- async: true,
- url: "/stats.xml",
- dataType: "xml",
- success: function(xml)
- {
- registry.online = true;
- gras_chart_factory_online(registry);
- if (registry.overall_active)
- {
- if ($(xml, "gras_stats") !== undefined)
- {
- if (!registry.init)
- {
- gras_chart_factory_setup(registry, xml);
- try{gras_chart_load(registry);}catch(e){}
- registry.init = true;
- }
- $.each(registry.active_charts, function(index, chart_info)
- {
- chart_info.chart.update(xml);
- });
- }
-
- registry.timeout_handle = window.setTimeout(function()
- {
- gras_query_stats(registry);
- }, Math.round(1000/registry.overall_rate));
- }
- },
- error: function()
- {
- registry.online = false;
- gras_chart_factory_online(registry);
- registry.timeout_handle = window.setTimeout(function()
- {
- gras_query_stats(registry);
- }, 1000);
- },
- });
-}
-
-/***********************************************************************
- * Init
- **********************************************************************/
-var gras_stats_main = function()
-{
- var registry = new GrasStatsRegistry();
- gras_chart_factory_init(registry);
- gras_query_stats(registry);
-}
diff --git a/python/gras/stats/utils.js b/python/gras/stats/utils.js
deleted file mode 100644
index f5e5ee8..0000000
--- a/python/gras/stats/utils.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/***********************************************************************
- * Utility functions for stats
- **********************************************************************/
-var gras_extract_total_items = function(point, id)
-{
- var block_data = $('block[id="' + id + '"]', point);
- 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_extract_stat_time_delta = function(p0, p1)
-{
- var t0 = parseInt($('now', p0).text());
- var t1 = parseInt($('now', p1).text());
- var tps = parseInt($('tps', p0).first().text());
- return (t1-t0)/(tps);
-}
-
-var gras_extract_percent_times = function(point, id)
-{
- var block_data = $('block[id="' + id + '"]', point);
- var data = {
- prep: parseInt($('total_time_prep', block_data).text()),
- work: parseInt($('total_time_work', block_data).text()),
- post: parseInt($('total_time_post', block_data).text()),
- input: parseInt($('total_time_input', block_data).text()),
- output: parseInt($('total_time_output', block_data).text()),
- };
- var total = 0;
- $.each(data, function(key, val)
- {
- total += val;
- });
- data['total'] = total;
- return data;
-}
-
-var gras_animate_show_hide = function(elem, show)
-{
- if (show) elem.slideDown("fast");
- else elem.slideUp("fast");
-}
-
-var gras_error_dialog = function(error_title, error_text)
-{
- $("#div-dialog-warning").text(error_text);
- $("#div-dialog-warning").dialog({
- title: error_title,
- resizable: false,
- height: 160,
- modal: true,
- buttons: {
- "Ok" : function () {
- $(this).dialog("close");
- }
- }
- }).parent().addClass("ui-state-error");
-}