diff options
author | Josh Blum | 2013-05-11 19:45:33 -0700 |
---|---|---|
committer | Josh Blum | 2013-05-11 19:45:33 -0700 |
commit | 30123ef51202f8e7e8d9da833e42b23ef77e02f3 (patch) | |
tree | 660f82b9ebe8f69ebc7ebd737dba6bfc9b6bd986 /python | |
parent | 4e210ade63d800b1a8671999f19019abd3c2ae03 (diff) | |
download | sandhi-30123ef51202f8e7e8d9da833e42b23ef77e02f3.tar.gz sandhi-30123ef51202f8e7e8d9da833e42b23ef77e02f3.tar.bz2 sandhi-30123ef51202f8e7e8d9da833e42b23ef77e02f3.zip |
gras: added port downtime measurements
Diffstat (limited to 'python')
-rw-r--r-- | python/gras/query/CMakeLists.txt | 1 | ||||
-rw-r--r-- | python/gras/query/chart_factory.js | 1 | ||||
-rw-r--r-- | python/gras/query/chart_port_downtime.js | 47 | ||||
-rw-r--r-- | python/gras/query/main.html | 1 |
4 files changed, 50 insertions, 0 deletions
diff --git a/python/gras/query/CMakeLists.txt b/python/gras/query/CMakeLists.txt index 2758d11..f9a855e 100644 --- a/python/gras/query/CMakeLists.txt +++ b/python/gras/query/CMakeLists.txt @@ -21,6 +21,7 @@ INSTALL( chart_handler_breakdown.js chart_port_counters.js chart_global_counters.js + chart_port_downtime.js main.css DESTINATION ${GR_PYTHON_DIR}/gras/query COMPONENT ${GRAS_COMP_PYTHON} diff --git a/python/gras/query/chart_factory.js b/python/gras/query/chart_factory.js index 01a7244..8b9656a 100644 --- a/python/gras/query/chart_factory.js +++ b/python/gras/query/chart_factory.js @@ -14,6 +14,7 @@ var gras_chart_get_registry = function() {key:'handler_breakdown', name:'Handler Breakdown', factory:GrasChartHandlerBreakdown}, {key:'port_counters', name:'Port Counters', factory:GrasChartPortCounts}, {key:'global_counters', name:'Global Counters', factory:GrasChartGlobalCounts}, + {key:'port_downtime', name:'Port downtime', factory:GrasChartPortDowntime}, ]; } diff --git a/python/gras/query/chart_port_downtime.js b/python/gras/query/chart_port_downtime.js new file mode 100644 index 0000000..2de421d --- /dev/null +++ b/python/gras/query/chart_port_downtime.js @@ -0,0 +1,47 @@ +function GrasChartPortDowntime(args, panel) +{ + //input checking + if (args.block_ids.length != 1) throw gras_error_dialog( + "GrasChartPortDowntime", + "Error making port downtime 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(panel); + + this.title = "Port Downtime - " + this.block_id; + this.default_width = GRAS_CHARTS_STD_WIDTH; +} + +GrasChartPortDowntime.prototype.update = function(point) +{ + var block_data = point.blocks[this.block_id]; + if (!block_data) return; + + var raw_data = new Array(); + raw_data.push(['Port', 'Percent']); //key + + //now add input and output port data + $.each(block_data.inputs_idle, function(index, downtime) + { + raw_data.push(['Input'+index.toString(), downtime/block_data.tps]); + }); + $.each(block_data.outputs_idle, function(index, downtime) + { + raw_data.push(['Output'+index.toString(), downtime/block_data.tps]); + }); + + //update the chart from raw data + var data = google.visualization.arrayToDataTable(raw_data); + var options = { + chartArea:{left:5,top:0,right:5,bottom:0,width:"100%",height:"100%"}, + }; + if (this.gc_resize) options.width = 50; + if (this.gc_resize) options.height = 50; + + this.chart.draw(data, options); +}; diff --git a/python/gras/query/main.html b/python/gras/query/main.html index ca957be..3fc3508 100644 --- a/python/gras/query/main.html +++ b/python/gras/query/main.html @@ -16,6 +16,7 @@ <script type="text/javascript" src="/chart_handler_breakdown.js"></script> <script type="text/javascript" src="/chart_port_counters.js"></script> <script type="text/javascript" src="/chart_global_counters.js"></script> + <script type="text/javascript" src="/chart_port_downtime.js"></script> <script type="text/javascript" src="/main.js"></script> <script type="text/javascript"> google.load('visualization', '1.0', {'packages':['corechart']}); |