1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
/***********************************************************************
* visuals
**********************************************************************/
var gras_setup_individual_charts = function(point)
{
var charts = $('#individual_charts').get(0);
$('block', point).each(function()
{
$('<input>').attr({
type: 'checkbox',
name: $(this).attr('id'),
value: '1',
checked: '1',
onclick: function()
{
}
}).appendTo(charts);
$(charts).append($(this).attr('id') + ' ');
});
}
var gras_update_throughput_chart = function(data)
{
if (data.history.length == 1) return gras_setup_individual_charts(data.history[0]);
if (data.history.length < 2) return;
var ids = data.getBlockIds();
var data_set = [['Throughput'].concat(ids)];
for (var i = Math.max(data.history.length-10, 1); i < data.history.length; i++)
{
var row = new Array();
row.push(i.toString());
for (var j = 0; j < ids.length; j++)
{
row.push(gras_extract_throughput_delta(data.history[i-1], data.history[i], ids[j])/1e6);
}
data_set.push(row);
}
var data = google.visualization.arrayToDataTable(data_set);
var options = {
title: 'Throughput per block over time',
vAxis: {title: "rate (MIps)"},
hAxis: {title: "time (seconds)"}
};
var chart = new google.visualization.LineChart($('#overall_charts').get(0));
chart.draw(data, options);
}
/***********************************************************************
* Query stats
**********************************************************************/
var gras_query_stats = function(data)
{
$.ajax({
type: "GET",
async: true,
url: "/stats.xml",
dataType: "xml",
success: function(xml)
{
if ($(xml, "gras_stats") !== undefined)
{
data.appendPoint(xml);
gras_update_throughput_chart(data);
}
var onceHandle = window.setTimeout(function() {
gras_query_stats(data);
}, 500);
}
});
}
/***********************************************************************
* Init
**********************************************************************/
var gras_stats_main = function()
{
var data = new GrasStatsRegistry();
gras_query_stats(data);
}
|