summaryrefslogtreecommitdiff
path: root/python/gras/query
diff options
context:
space:
mode:
Diffstat (limited to 'python/gras/query')
-rw-r--r--python/gras/query/__init__.py7
-rw-r--r--python/gras/query/chart_factory.js5
-rw-r--r--python/gras/query/chart_total_io_counts.js11
-rw-r--r--python/gras/query/main.js25
-rw-r--r--python/gras/query/utils.js46
5 files changed, 47 insertions, 47 deletions
diff --git a/python/gras/query/__init__.py b/python/gras/query/__init__.py
index 5789fab..e25e22d 100644
--- a/python/gras/query/__init__.py
+++ b/python/gras/query/__init__.py
@@ -15,11 +15,12 @@ class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(s):
"""Respond to a GET request."""
- if s.path.endswith('.xml'):
+ args = server_registry[s.server]
+ if s.path.endswith('.json'):
s.send_response(200)
- s.send_header("Content-type", "text/xml")
+ s.send_header("Content-type", "application/json")
s.end_headers()
- s.wfile.write(server_registry[s.server]['top_block'].query(s.path))
+ s.wfile.write(args['top_block'].query(s.path))
return
path = s.path
if path.startswith('/'): path = path[1:]
diff --git a/python/gras/query/chart_factory.js b/python/gras/query/chart_factory.js
index 3d2b0bc..682a968 100644
--- a/python/gras/query/chart_factory.js
+++ b/python/gras/query/chart_factory.js
@@ -16,12 +16,11 @@ var gras_chart_get_registry = function()
**********************************************************************/
function gras_chart_factory_setup(registry, point)
{
- var id = $('gras_stats:first', point).attr('id');
+ var id = point.id;
registry.top_id = id;
$('#top_name').append(' - ' + id);
- $('block', point).each(function(index, block)
+ $.each(point.blocks, function(id, block)
{
- var id = $(block).attr('id');
registry.block_ids.push(id);
var container = $('#chart_designer_blocks');
var div = $('<div />');
diff --git a/python/gras/query/chart_total_io_counts.js b/python/gras/query/chart_total_io_counts.js
index 5aaaf24..2f9ced3 100644
--- a/python/gras/query/chart_total_io_counts.js
+++ b/python/gras/query/chart_total_io_counts.js
@@ -16,15 +16,15 @@ function GrasChartTotalIoCounts(args)
GrasChartTotalIoCounts.prototype.update = function(point)
{
- var block_data = $('block[id="' + this.block_id + '"]', point);
+ var block_data = point.blocks[this.block_id];
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 init_time = parseInt(block_data.init_time);
+ var stats_time = parseInt(block_data.stats_time);
+ var tps = parseInt(block_data.tps);
var duration = (stats_time - init_time)/tps;
var li = $('<li />');
var strong = $('<strong />').text('Elapsed' + ': ');
@@ -48,9 +48,8 @@ GrasChartTotalIoCounts.prototype.update = function(point)
var dir = contents[0];
var units = contents[1];
var key = contents[2];
- $(key, block_data).each(function(index, elem)
+ $.each(block_data[key], function(index, count)
{
- var count = parseInt($(elem).text());
var li = $('<li />');
var strong = $('<strong />').text(dir + index.toString() + ': ');
var span = $('<span />').text(count.toString() + ' ' + units);
diff --git a/python/gras/query/main.js b/python/gras/query/main.js
index a27c0b7..80791b9 100644
--- a/python/gras/query/main.js
+++ b/python/gras/query/main.js
@@ -25,27 +25,24 @@ var gras_query_stats = function(registry)
$.ajax({
type: "GET",
async: true,
- url: "/stats.xml",
- dataType: "xml",
- success: function(xml)
+ url: "/stats.json",
+ dataType: "json",
+ success: function(response)
{
registry.online = true;
gras_chart_factory_online(registry);
if (registry.overall_active)
{
- if ($(xml, "gras_stats") !== undefined)
+ if (!registry.init)
{
- 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);
- });
+ gras_chart_factory_setup(registry, response);
+ try{gras_chart_load(registry);}catch(e){}
+ registry.init = true;
}
+ $.each(registry.active_charts, function(index, chart_info)
+ {
+ chart_info.chart.update(response);
+ });
registry.timeout_handle = window.setTimeout(function()
{
diff --git a/python/gras/query/utils.js b/python/gras/query/utils.js
index f5e5ee8..3e4fe4b 100644
--- a/python/gras/query/utils.js
+++ b/python/gras/query/utils.js
@@ -3,22 +3,26 @@
**********************************************************************/
var gras_extract_total_items = function(point, id)
{
- var block_data = $('block[id="' + id + '"]', point);
+ var block_data = point.blocks[id];
var total_items = 0;
- $('items_consumed,items_produced', block_data).each(function()
+ $.each(block_data.items_produced, function(index, value)
{
- total_items += parseInt($(this).text());
+ total_items += value;
+ });
+ $.each(block_data.items_consumed, function(index, value)
+ {
+ total_items += value;
});
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 d0 = p0.blocks[id];
+ var d1 = p1.blocks[id];
+ var t0 = d0.stats_time;
+ var t1 = d1.stats_time;
+ var tps = d0.tps;
var items0 = gras_extract_total_items(p0, id);
var items1 = gras_extract_total_items(p1, id);
return ((items1-items0)*tps)/(t1-t0);
@@ -26,31 +30,31 @@ var gras_extract_throughput_delta = function(p0, p1, id)
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 block_data = point.blocks[id];
+ var start_time = block_data.start_time;
+ var stats_time = block_data.stats_time;
+ var tps = block_data.tps;
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());
+ var t0 = p0.now;
+ var t1 = p1.now;
+ var tps = p0.tps;
return (t1-t0)/(tps);
}
var gras_extract_percent_times = function(point, id)
{
- var block_data = $('block[id="' + id + '"]', point);
+ var block_data = point.blocks[id];
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()),
+ prep: block_data.total_time_prep,
+ work: block_data.total_time_work,
+ post: block_data.total_time_post,
+ input: block_data.total_time_input,
+ output: block_data.total_time_output,
};
var total = 0;
$.each(data, function(key, val)