Merge "NONRTRIC - Implement DMaaP mediator producer service in Java"
[nonrtric.git] / test / simulator-group / sim-monitor.js
index 7a22026..e118e17 100644 (file)
@@ -26,6 +26,7 @@ var AGENT_PORT="8081"
 var CR_PORT="8090"
 var ECS_PORT="8083"
 var PRODSTUB_PORT="8092"
+var RC_PORT="8680"
 
 var http = require('http');
 
@@ -212,8 +213,14 @@ var refreshCount_ecs=-1
 
 var refreshCount_cr=-1
 
+var refreshCount_rc=-1
+
 var ricbasename="ricsim"
 
+var rc_services=""
+
+var pmsprefix=""
+
 function fetchAllMetrics_pol() {
 
     console.log("Fetching policy metrics " + refreshCount_pol)
@@ -229,7 +236,7 @@ function fetchAllMetrics_pol() {
         if (getCtr%3 == 0) {
             //Extract the port numbers from the running simulators, for every 3 calls
             const { exec } = require('child_process');
-            exec('docker ps --filter "name='+ricbasename+'" --format "{{.Names}} {{.Ports}}" | sed s/0.0.0.0:// | cut -d \'>\' -f1 | sed \'s/[[-]]*$//\'', (err, stdout, stderr) => {
+            exec('docker ps --filter "name='+ricbasename+'" --filter "network=nonrtric-docker-net" --format "{{.Names}} {{.Ports}}" | sed s/0.0.0.0:// | cut -d \'>\' -f1 | sed \'s/[[-]]*$//\'', (err, stdout, stderr) => {
 
                 var simulators = ""
                 simulators=`${stdout}`.replace(/(\r\n|\n|\r)/gm," ");
@@ -504,7 +511,8 @@ function fetchAllMetrics_ecs() {
                             var jd=JSON.parse(data);
                             var jda=jd["supported_ei_types"]
                             for(var j=0;j<jda.length;j++) {
-                                row=""+row+jda[j]["ei_type_identity"]+" "
+                                row=""+row+jda[j]+" "
+
                             }
                             tmp_ecs_producer_type_arr[idx]=row
                         }
@@ -711,6 +719,42 @@ function fetchAllMetrics_cr() {
     }, 500)
 }
 
+function fetchAllMetrics_rc() {
+
+    console.log("Fetching RC services - timer:" + refreshCount_ecs)
+
+    if (refreshCount_rc < 0) {
+        refreshCount_rc = -1
+        return
+    } else {
+        refreshCount_rc = refreshCount_rc - 1
+    }
+    setTimeout(() => {
+
+        if (checkFunctionFlag("rc_stat")) {
+            getSimCtr(LOCALHOST+RC_PORT+"/services", 0, function(data, index) {
+                var tmp_serv=""
+                try {
+                    var jd=JSON.parse(data);
+                    for(var i=0;i<jd.length;i++) {
+                        if (tmp_serv.length > 0) {
+                            tmp_serv=tmp_serv+","
+                        }
+                        tmp_serv=tmp_serv+jd[i]["name"]
+                    }
+
+                }
+                catch (err) {
+                    tmp_serv="no_response"
+                }
+                rc_services=tmp_serv
+            });
+            clearFlag("rc_stat")
+        }
+        fetchAllMetrics_rc();
+    }, 500)
+}
+
 // Monitor for CR db
 app.get("/mon3",function(req, res){
 
@@ -810,7 +854,6 @@ app.get("/mon2",function(req, res){
                 htmlStr=htmlStr+"<br>";
                 for(i=0;i<ecs_job_status.length;i++) {
                     tmp=ecs_job_status[i]
-                    console.log("tmp")
                     if (tmp != undefined) {
                         s = padding("Job", 18, ".") + formatDataRow(tmp) + "<br>"
                         htmlStr=htmlStr+s
@@ -876,27 +919,37 @@ app.get("/mon",function(req, res){
     }
     refreshCount_pol=5
 
+    if (refreshCount_rc < 0) {
+        refreshCount_rc=5
+        fetchAllMetrics_rc()
+    }
+    refreshCount_rc=5
+
     var bn=req.query.basename
+    pmsprefix=req.query.pmsprefix
 
-    if (bn == undefined) {
+    console.log("PMS"+pmsprefix)
+    if ((bn == undefined) || (pmsprefix == undefined)) {
         getCtr=0
-        return res.redirect('/mon?basename=ricsim');
+        return res.redirect('/mon?basename=ricsim&pmsprefix=/a1-policy/v2');
     } else {
         ricbasename=bn
     }
 
+
     //Build web page
        var htmlStr = "<!DOCTYPE html>" +
           "<html>" +
           "<head>" +
             "<meta http-equiv=\"refresh\" content=\"2\">"+  //2 sec auto refresh
-            "<title>Policy Agent and simulator monitor</title>"+
+            "<title>Policy Management Service and simulator monitor</title>"+
             "</head>" +
             "<body>" +
             "<font size=\"-3\" face=\"monospace\">" +
             "<p>Change basename in url if other ric sim prefix is used</p>" +
+            "<p>Change pmsprefix in url if pms with other prefix is used</p>" +
             "</font>" +
-            "<h3>Policy agent</h3>" +
+            "<h3>Policy Management Service</h3>" +
             "<font face=\"monospace\">" +
             "Status:..............................." + formatDataRow(ag1) + "<br>" +
             "Services:............................." + formatIdRowCompact(ag2) + "<br>" +
@@ -913,13 +966,17 @@ app.get("/mon",function(req, res){
             "Fetched responses.............................." + formatDataRow(mr5) + "<br>" +
             "Current responses waiting......................" + formatDataRow(mr6) + "<br>" +
             "</font>"+
-            "<h3>Callback receiver</h3>" +
+            "<h3>Callback|Notification receiver</h3>" +
             "<font face=\"monospace\">" +
             "Callbacks received:..................." + formatDataRow(cr1) + "<br>" +
             "Callbacks fetched:...................." + formatDataRow(cr2) + "<br>" +
             "Number of waiting callback messages:.." + formatDataRow(cr3) + "<br>" +
             "</font>" +
-            "<h3>Near-RT RIC Simulators</h3>" +
+            "<h3>R-APP Catalogue</h3>" +
+            "<font face=\"monospace\">" +
+            "Services:............................." + formatIdRowCompact(rc_services) + "<br>" +
+            "</font>" +
+            "<h3>Near-RT RIC | A1 Simulators</h3>" +
             "<font face=\"monospace\">"
 
             htmlStr=htmlStr+padding("Near-RT RIC Simulator name", 35,"&nbsp;")