MC App metrics display 32/932/4
authorSarkar, Anand (as0481) <as0481@att.com>
Tue, 10 Sep 2019 17:21:03 +0000 (13:21 -0400)
committerSarkar, Anand (as0481) <as0481@att.com>
Wed, 11 Sep 2019 20:34:38 +0000 (16:34 -0400)
Signed-off-by: Sarkar, Anand (as0481) <as0481@att.com>
Issue-Id: RICPLT-1628
Change-Id: Ib66e001164a109e469e3276efd7b05d6ffeeb8da

docs/release-notes.rst
webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardConstants.java
webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java
webapp-backend/src/main/resources/application.properties
webapp-frontend/src/app/stats/stats.component.html
webapp-frontend/src/app/stats/stats.component.ts

index 9448d20..b3cc4ca 100644 (file)
@@ -50,6 +50,7 @@ Version 1.2.0, 11 Sep 2019
 * Showing the loading-dialog while making API call
 * Add notification and error handling for xapp configuration
 * Update E2 manager client to spec version 2.0.5 of 2019-09-11
+* Display MC xAPP metrics data via Kibana source (metrics.url.mc) on dashboard
 
 Version 1.0.5, 5 July 2019
 --------------------------
index 1ceb0cb..c441c17 100644 (file)
@@ -30,7 +30,7 @@ public abstract class DashboardConstants {
        // Factor out method names used in multiple controllers
        public static final String VERSION_METHOD = "version";
        public static final String APP_NAME_AC = "AC";
-
+       public static final String APP_NAME_MC = "MC";
        // The role names are defined by ONAP Portal.
        // The prefix "ROLE_" is required by Spring.
        // These are used in Java code annotations that require constants.
index 8313d73..58dab29 100644 (file)
@@ -65,6 +65,8 @@ public class AdminController {
        @Value("${metrics.url.ac}")
        private String acAppMetricsUrl;
 
+       @Value("${metrics.url.mc}")
+       private String mcAppMetricsUrl;
        public AdminController() {
                // Mock data
                users = new DashboardUser[] { //
@@ -105,10 +107,15 @@ public class AdminController {
        @ApiOperation(value = "Gets the kibana metrics URL for the specified app.", response = SuccessTransport.class)
        @GetMapping(XAPPMETRICS_METHOD)
        public IDashboardResponse getAppMetricsUrl(@RequestParam String app, HttpServletResponse response) {
-               if (DashboardConstants.APP_NAME_AC.equals(app)) {
-                       logger.debug("getAppMetricsUrl: acAppMetricsUrl {}", acAppMetricsUrl);
-                       return new SuccessTransport(200, acAppMetricsUrl);
-               } else {
+               String metricsUrl = null;
+               if (DashboardConstants.APP_NAME_AC.equals(app))
+                       metricsUrl = acAppMetricsUrl;
+               else if (DashboardConstants.APP_NAME_MC.equals(app))
+                       metricsUrl = mcAppMetricsUrl;
+               logger.debug("getAppMetricsUrl: app {} metricsurl {}", app, metricsUrl);
+               if (metricsUrl != null)
+                       return new SuccessTransport(200, metricsUrl);
+               else {
                        response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
                        return new ErrorTransport(400, "Client provided app name is invalid as: " + app);
                }
index 50da1cd..4c33d34 100644 (file)
@@ -56,4 +56,7 @@ e2mgr.url.suffix = /v1
 mock.config.delay = 0
 
 #Representative URL to Kibana source displaying the AC App metrics
-metrics.url.ac = http://jar-app-props-kibana-url
+metrics.url.ac = http://jar-app-props-kibana-url-ac
+
+#Representative URL to Kibana source displaying the MC App metrics
+metrics.url.mc = http://jar-app-props-kibana-url-mc
index 2245829..f4ea730 100644 (file)
                                </mat-grid-tile>
                        </mat-grid-list>
                </mat-tab>
+               <mat-tab label="MC xApp">
+                       <mat-grid-list cols="3" rowHeight="3:2">
+                               <mat-grid-tile>
+                                       <mat-card>
+                                               <iframe [src]="metricsUrlMc"></iframe>
+                                       </mat-card>
+                               </mat-grid-tile>
+                       </mat-grid-list>
+               </mat-tab>
        </mat-tab-group>
 
 </div>
index 515d4ff..0cf94f6 100644 (file)
@@ -39,6 +39,7 @@ export class StatsComponent implements OnInit {
     load;
     delay;
     metricsUrlAc : SafeResourceUrl;
+    metricsUrlMc : SafeResourceUrl;
 
     public latencyChartColors: Array<any> = [
         { // blue
@@ -328,6 +329,9 @@ export class StatsComponent implements OnInit {
         this.service.getAppMetricsUrl('AC').subscribe((res:DashboardSuccessTransport) => {
             this.metricsUrlAc = this.sanitize.bypassSecurityTrustResourceUrl(res.data);
         });
+        this.service.getAppMetricsUrl('MC').subscribe((res:DashboardSuccessTransport) => {
+            this.metricsUrlMc = this.sanitize.bypassSecurityTrustResourceUrl(res.data);
+        });
     }
 
     startLoadTimer() {