}\r
\r
// Draw a single graph for a specific test for a specific installer\r
-function draw_graph_per_scenario_per_installer (filename, installer, scenario, test_unit){\r
+function draw_graph_per_scenario_per_installer (filename, installer, pod, scenario, test_unit){\r
$.getJSON(filename, function(data) {\r
var serie = [];\r
index_test = 0;\r
// find index mapping to the test_unit\r
for (var i=0; i<data.dashboard.length; i++)\r
if (data.dashboard[i].name==test_unit){\r
- index_test=i;\r
+ index_test=i;\r
break;\r
}\r
\r
if ($.inArray(opnfv_dashboard_y_labels[y], keys)!=-1) labels.push(data.dashboard[index_test].info[opnfv_dashboard_y_labels[y]]);\r
\r
// Draw the graph\r
- g=new Dygraph(\r
+ g = new Dygraph(\r
document.getElementById(scenario),\r
serie,\r
{\r
project = opnfv_dashboard_project;\r
test = opnfv_dashboard_test;\r
test_unit = opnfv_dashboard_test_unit;\r
-\r
- if (installer.length==0){\r
- alert ('select an installer');\r
- return;\r
- }\r
- if (test.length==0){\r
- alert ('select a test case');\r
- return;\r
- }\r
for (i=0; i<opnfv_dashboard_installers_scenarios[installer].length; i++){\r
- var filename = './' + opnfv_dashboard_file_directory + '/' + installer + '/' + project + '/' + opnfv_dashboard_file_prefix + project+'_'+test+'_'+opnfv_dashboard_installers_scenarios[installer][i]+opnfv_dashboard_file_suffix;\r
+ var filename = './' + opnfv_dashboard_file_directory + '/' + installer + '/' + project + '/' + opnfv_dashboard_file_prefix + project+'_'+test+'_'+opnfv_dashboard_installers_scenarios[installer][i];\r
+ if (opnfv_dashboard_pod!='all')\r
+ filename += '_' + opnfv_dashboard_pod;\r
+ filename += opnfv_dashboard_file_suffix;\r
console.log(filename);\r
- draw_graph_per_scenario_per_installer(filename, installer, opnfv_dashboard_installers_scenarios[installer][i], test_unit);\r
+ draw_graph_per_scenario_per_installer(filename, installer, opnfv_dashboard_pod, opnfv_dashboard_installers_scenarios[installer][i], test_unit);\r
}\r
}\r
\r
function on_installer_draw_graph(installer){\r
opnfv_dashboard_installer = installer;\r
show_installers(installer);\r
+ opnfv_dashboard_pod = 'all'; // force the new pod to 'all' because there is # pods per installer\r
+ show_installers_pods(opnfv_dashboard_pod);\r
show_divs(installer);\r
draw_graphs_all_scenarios_per_installer ();\r
}\r
\r
+function on_pod_draw_graph(pod){\r
+ opnfv_dashboard_pod = pod;\r
+ show_installers_pods(pod);\r
+ show_divs(opnfv_dashboard_installer);\r
+ draw_graphs_all_scenarios_per_installer ();\r
+}\r
+\r
+function on_ready_draw_graph(){\r
+ opnfv_dashboard_test = 'vPing';\r
+ opnfv_dashboard_test_unit = 'vPing duration';\r
+ opnfv_dashboard_installer = opnfv_dashboard_installers[Math.round((Math.random(opnfv_dashboard_installers.length-1)))];\r
+ show_installers_pods(opnfv_dashboard_installers_pods[opnfv_dashboard_installer][0]);\r
+ show_installers(opnfv_dashboard_installer);\r
+ show_divs(opnfv_dashboard_installer);\r
+ $("#testcase_selected").html(opnfv_dashboard_test_unit);\r
+ draw_graphs_all_scenarios_per_installer ();\r
+}\r
+\r
// generate test case selection\r
function show_testcases(){\r
var html_testcases = '<button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Select a test case';\r
for (var i in opnfv_dashboard_installers)\r
if (opnfv_dashboard_installers[i]==active_installer)\r
html_installers += '<li class="active"><a href="#" onClick="on_installer_draw_graph(\''+opnfv_dashboard_installers[i]+'\')">'+opnfv_dashboard_installers[i]+'</a></li>'; \r
- else\r
- html_installers += '<li><a href="#" onClick="on_installer_draw_graph(\''+opnfv_dashboard_installers[i]+'\')">'+opnfv_dashboard_installers[i]+'</a></li>';\r
+ else\r
+ html_installers += '<li><a href="#" onClick="on_installer_draw_graph(\''+opnfv_dashboard_installers[i]+'\')">'+opnfv_dashboard_installers[i]+'</a></li>';\r
html_installers += '</ul>';\r
$("#installers").html(html_installers);\r
}\r
\r
+// generate pods buttons\r
+function show_installers_pods(active_pod)\r
+{\r
+ var html_pods = '';\r
+ html_pods += '<ul class="nav nav-pills">';\r
+ for (var i in opnfv_dashboard_installers_pods[opnfv_dashboard_installer])\r
+ if (opnfv_dashboard_installers_pods[opnfv_dashboard_installer][i]==active_pod)\r
+ html_pods += '<li class="active"><a href="#" onClick="on_pod_draw_graph(\''+opnfv_dashboard_installers_pods[opnfv_dashboard_installer][i]+'\')">'+opnfv_dashboard_installers_pods_print[opnfv_dashboard_installer][i]+'</a></li>'; \r
+ else\r
+ html_pods += '<li><a href="#" onClick="on_pod_draw_graph(\''+opnfv_dashboard_installers_pods[opnfv_dashboard_installer][i]+'\')">'+opnfv_dashboard_installers_pods_print[opnfv_dashboard_installer][i]+'</a></li>';\r
+ html_pods += '</ul>';\r
+ $("#pods").html(html_pods);\r
+}\r
+\r
// generate a div per installer (to host the graph)\r
function show_divs(installer){\r
$("#graphs").remove();\r
var div_scenario = '<div class= "chart" id="' + opnfv_dashboard_installers_scenarios[installer][i] + '"/>';\r
console.log(div_scenario);\r
var $newdiv = $(div_scenario);\r
-\r
$("#graphs").append($newdiv);\r
}\r
}\r
\r
// generate HTML menus and buttons\r
$( document ).ready(function(){\r
- show_installers('');\r
- show_testcases();\r
console.log( "ready!" );\r
+ \r
+ //show_installers('');\r
+ show_testcases();\r
+ on_ready_draw_graph();\r
});\r