summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJosh Blum2013-03-03 22:42:38 -0600
committerJosh Blum2013-03-03 22:42:38 -0600
commit8c3598fc29cb11a34196082b11f639467912a4f9 (patch)
tree1559162b37902e881402d1de3c4a494ad940d1d8 /python
parent96142291f4ed6e60cec142863a2163c931202010 (diff)
downloadsandhi-8c3598fc29cb11a34196082b11f639467912a4f9.tar.gz
sandhi-8c3598fc29cb11a34196082b11f639467912a4f9.tar.bz2
sandhi-8c3598fc29cb11a34196082b11f639467912a4f9.zip
stats: enables for the individual blocks
Diffstat (limited to 'python')
-rw-r--r--python/gras/stats/charts.js45
-rw-r--r--python/gras/stats/main.css4
-rw-r--r--python/gras/stats/main.html11
-rw-r--r--python/gras/stats/main.js10
-rw-r--r--python/gras/stats/registry.js10
5 files changed, 50 insertions, 30 deletions
diff --git a/python/gras/stats/charts.js b/python/gras/stats/charts.js
index 0c020d3..d424209 100644
--- a/python/gras/stats/charts.js
+++ b/python/gras/stats/charts.js
@@ -4,14 +4,10 @@
var gras_setup_overall_chart = function(registry)
{
- var chart = new google.visualization.LineChart($('#overall_charts').get(0));
- var options = {
- title: 'Throughput per block over time',
- vAxis: {title: "rate (MIps)"},
- hAxis: {title: "time (seconds)"}
- };
+ var div = $('#overall_charts:first');
+ var td = $('td:last', div);
+ var chart = new google.visualization.LineChart(td.get(0));
registry.overall_chart = chart;
- registry.overall_chart_options = options;
}
var gras_setup_individual_charts = function(registry)
@@ -23,16 +19,17 @@ var gras_setup_individual_charts = function(registry)
$.each(registry.getBlockIds(), function(index, id)
{
$(config).append('<label>' + id + '</label>');
- $('<input>').attr({
+ var input = $('<input />').attr({
type: 'checkbox',
- name: id,
- value: '1',
- checked: '1',
- onclick: function()
- {
-
- }
- }).appendTo(config);
+ name: id
+ });
+ registry.block_enables[id] = true;
+ input.attr('checked', registry.block_enables[id]);
+ input.change(function()
+ {
+ registry.block_enables[id] = input.is(':checked');
+ });
+ $(config).append(input);
$(config).append('&nbsp;');
count++;
if (count == Math.round(registry.getBlockIds().length/2))
@@ -51,7 +48,12 @@ var gras_update_throughput_chart = function(registry)
if (registry.history.length == 1) return gras_setup_individual_charts(registry);
if (registry.history.length < 2) return;
- var ids = registry.getBlockIds();
+ var ids = new Array();
+ $.each(registry.getBlockIds(), function(index, id)
+ {
+ if (registry.block_enables[id]) ids.push(id);
+ });
+
var data_set = [['Throughput'].concat(ids)];
for (var i = Math.max(registry.history.length-10, 1); i < registry.history.length; i++)
{
@@ -65,6 +67,13 @@ var gras_update_throughput_chart = function(registry)
}
var chart_data = google.visualization.arrayToDataTable(data_set);
- registry.overall_chart.draw(chart_data, registry.overall_chart_options);
+ var options = {
+ //title: 'Throughput per block over time',
+ vAxis: {title: "rate (MIps)"},
+ hAxis: {title: "time (seconds)"},
+ width:$('#page').width()*0.9,
+ height:'300'
+ };
+ registry.overall_chart.draw(chart_data, options);
}
diff --git a/python/gras/stats/main.css b/python/gras/stats/main.css
index 60afd5e..bfa15d9 100644
--- a/python/gras/stats/main.css
+++ b/python/gras/stats/main.css
@@ -10,6 +10,10 @@ color:black;
background-color:white;
}
+#overall_charts
+{
+}
+
#overall_config
{
float:left;
diff --git a/python/gras/stats/main.html b/python/gras/stats/main.html
index c393763..284654b 100644
--- a/python/gras/stats/main.html
+++ b/python/gras/stats/main.html
@@ -23,7 +23,7 @@
<table>
<tr><th colspan="2">Overall chart config</th></tr>
<tr>
- <td colspan="2">Update rate: <input type="number" name="update_rate" min="1" max="10" size="4" /></td>
+ <td colspan="2">Updates/sec: <input type="number" name="update_rate" min="1" max="10" size="4" /></td>
</tr>
<tr>
<td><label>Active?</label><input type="checkbox" name="active" checked="1" /></td>
@@ -38,7 +38,14 @@
</table>
</div>
<div style="clear:both;"></div>
- <div id="overall_charts" style="width:1000px;height:500px;"></div>
+ <div id="overall_charts">
+ <table>
+ <tr><th>Thoughput per block vs time</th></tr>
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+ </div>
</body>
</html>
diff --git a/python/gras/stats/main.js b/python/gras/stats/main.js
index 5b30e77..fb24557 100644
--- a/python/gras/stats/main.js
+++ b/python/gras/stats/main.js
@@ -15,7 +15,8 @@ var gras_query_stats = function(registry)
registry.appendPoint(xml);
gras_update_throughput_chart(registry);
}
- var onceHandle = window.setTimeout(function() {
+ var onceHandle = window.setTimeout(function()
+ {
gras_query_stats(registry);
}, (1.0/registry.overall_rate));
}
@@ -28,6 +29,13 @@ var gras_query_stats = function(registry)
var gras_stats_main = function()
{
var registry = new GrasStatsRegistry();
+ var overall_config = $('#overall_config').get(0);
+ var overall_rate = $('input[name="update_rate"]', overall_config);
+ overall_rate.val(registry.overall_rate);
+ overall_rate.change(function()
+ {
+ registry.overall_rate = overall_rate.val();
+ });
gras_setup_overall_chart(registry);
gras_query_stats(registry);
}
diff --git a/python/gras/stats/registry.js b/python/gras/stats/registry.js
index 197f874..04e74b7 100644
--- a/python/gras/stats/registry.js
+++ b/python/gras/stats/registry.js
@@ -1,13 +1,4 @@
/***********************************************************************
- * Per block registry data structure
- **********************************************************************/
-var GrasBlockRegistry = function(id)
-{
- this.id = id;
- this.enabled = true;
-}
-
-/***********************************************************************
* Stats registry data structure
**********************************************************************/
var GrasStatsRegistry = function()
@@ -15,6 +6,7 @@ var GrasStatsRegistry = function()
this.ids = new Array();
this.enables = new Array();
this.history = new Array();
+ this.block_enables = new Array();
this.overall_rate = 2.0;
this.overall_active = true;
}