X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Fvim-emu.git;a=blobdiff_plain;f=src%2Femuvim%2Fdashboard%2Fjs%2Fmain.js;h=a705840dd7bb16677665730ca17fbf9474d8dfd0;hp=71741f2e2c07200f0e56366c321bb8f62e83dc9e;hb=d87400255e1997f85b9cdebc583811b70cca4ab7;hpb=ee5179f161d10b35a8a73f495ca3692fda9b2e71 diff --git a/src/emuvim/dashboard/js/main.js b/src/emuvim/dashboard/js/main.js index 71741f2..a705840 100755 --- a/src/emuvim/dashboard/js/main.js +++ b/src/emuvim/dashboard/js/main.js @@ -1,18 +1,45 @@ -var API_HOST = "http://127.0.0.1:5001"; +/* + Copyright (c) 2017 SONATA-NFV and Paderborn University + ALL RIGHTS RESERVED. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Neither the name of the SONATA-NFV, Paderborn University + nor the names of its contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + + This work has been performed in the framework of the SONATA project, + funded by the European Commission under Grant number 671517 through + the Horizon 2020 and 5G-PPP programmes. The authors would like to + acknowledge the contributions of their colleagues of the SONATA + partner consortium (www.sonata-nfv.eu). +*/ +var API_HOST = ""; // set to a remote url if dashboard is not served by REST API server var ERROR_ALERT = false; var TIMESTAMP = 0; var CONNECTED = false; var LATENESS_UPDATE_INTERVAL = 50; -var DATA_UPDATE_INTERVAL = 1000 * 10; +var DATA_UPDATE_INTERVAL = 1000 * 30; // 30 seconds var LAST_UPDATE_TIMESTAMP_CONTAINER = 0; var LAST_UPDATE_TIMESTAMP_DATACENTER = 0; function update_lateness_loop() { lateness_datacenter= (Date.now() - LAST_UPDATE_TIMESTAMP_DATACENTER) / 1000; - $("#lbl_lateness_datacenter").text("Lateness: " + Number(lateness_datacenter).toPrecision(3) + "s"); + $("#lbl_lateness_datacenter").text("Lateness: " + Number(lateness_datacenter).toPrecision(2) + "s"); lateness_container= (Date.now() - LAST_UPDATE_TIMESTAMP_CONTAINER) / 1000; - $("#lbl_lateness_container").text("Lateness: " + Number(lateness_container).toPrecision(3) + "s"); + $("#lbl_lateness_container").text("Lateness: " + Number(lateness_container).toPrecision(2) + "s"); // loop while connected if(CONNECTED) setTimeout(update_lateness_loop, LATENESS_UPDATE_INTERVAL) @@ -26,11 +53,13 @@ function errorAjaxConnection() { ERROR_ALERT = true; // show message - alert("ERROR!\nAPI request failed.\n\n Please check the backend connection.", function() { - // callback - ERROR_ALERT = false; - }); + //alert("API request failed. Is the emulator running?", function() { + // // callback + // ERROR_ALERT = false; + //}); } + CONNECTED = false; + console.error("API request failed. Is the emulator running?") } @@ -40,16 +69,17 @@ function update_table_datacenter(data) // clear table $("#table_datacenter").empty(); // header - $("#table_datacenter").append('LabelInt. NameSwitchNum. ContainersMetadata Items'); + $("#table_datacenter").append('LabelInt. NameSwitchNum. ContainersVNFs'); // fill table $.each(data, function(i, item) { var row_str = ""; row_str += ''; - row_str += '' + item.label + '1'; + row_str += '' + item.label + ''; row_str += '' + item.internalname + ''; row_str += '' + item.switch + ''; row_str += '' + item.n_running_containers + ''; - row_str += '' + Object.keys(item.metadata).length + ''; + //row_str += '' + Object.keys(item.metadata).length + ''; + row_str += '' + item.vnf_list + ''; row_str += ''; $("#table_datacenter").append(row_str); }); @@ -125,7 +155,7 @@ function connect() { console.info("connect()"); // get host address - API_HOST = "http://" + $("#text_api_host").val(); + //API_HOST = "http://" + $("#text_api_host").val(); console.debug("API address: " + API_HOST); // reset data LAST_UPDATE_TIMESTAMP_DATACENTER = Date.now(); @@ -135,31 +165,19 @@ function connect() update_lateness_loop(); // restart data fetch loop fetch_loop(); - // gui updates - $("#btn_disconnect").removeClass("disabled"); - $("#btn_connect").addClass("disabled"); -} - -function disconnect() -{ - console.info("disconnect()"); - CONNECTED = false; - // gui updates - $("#btn_connect").removeClass("disabled"); - $("#btn_disconnect").addClass("disabled"); } $(document).ready(function(){ console.info("document ready"); // setup global connection error handling + $.ajaxSetup({ "error": errorAjaxConnection }); - // add listeners - $("#btn_connect").click(connect); - $("#btn_disconnect").click(disconnect); + // connect + connect(); // additional refresh on window focus $(window).focus(function () {