From e4c536ef64c3646a70f914371d3ea696711f32c3 Mon Sep 17 00:00:00 2001 From: "Sarkar, Anand (as0481)" Date: Tue, 10 Sep 2019 13:21:03 -0400 Subject: [PATCH] MC App metrics display Signed-off-by: Sarkar, Anand (as0481) Issue-Id: RICPLT-1628 Change-Id: Ib66e001164a109e469e3276efd7b05d6ffeeb8da --- docs/release-notes.rst | 1 + .../oransc/ric/portal/dashboard/DashboardConstants.java | 2 +- .../ric/portal/dashboard/controller/AdminController.java | 15 +++++++++++---- webapp-backend/src/main/resources/application.properties | 5 ++++- webapp-frontend/src/app/stats/stats.component.html | 9 +++++++++ webapp-frontend/src/app/stats/stats.component.ts | 4 ++++ 6 files changed, 30 insertions(+), 6 deletions(-) diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 9448d205..b3cc4ca7 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -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 -------------------------- diff --git a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardConstants.java b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardConstants.java index 1ceb0cb3..c441c17e 100644 --- a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardConstants.java +++ b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/DashboardConstants.java @@ -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. diff --git a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java index 8313d736..58dab296 100644 --- a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java +++ b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java @@ -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); } diff --git a/webapp-backend/src/main/resources/application.properties b/webapp-backend/src/main/resources/application.properties index 50da1cdb..4c33d34f 100644 --- a/webapp-backend/src/main/resources/application.properties +++ b/webapp-backend/src/main/resources/application.properties @@ -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 diff --git a/webapp-frontend/src/app/stats/stats.component.html b/webapp-frontend/src/app/stats/stats.component.html index 2245829d..f4ea7304 100644 --- a/webapp-frontend/src/app/stats/stats.component.html +++ b/webapp-frontend/src/app/stats/stats.component.html @@ -92,6 +92,15 @@ + + + + + + + + + diff --git a/webapp-frontend/src/app/stats/stats.component.ts b/webapp-frontend/src/app/stats/stats.component.ts index 515d4ff3..0cf94f61 100644 --- a/webapp-frontend/src/app/stats/stats.component.ts +++ b/webapp-frontend/src/app/stats/stats.component.ts @@ -39,6 +39,7 @@ export class StatsComponent implements OnInit { load; delay; metricsUrlAc : SafeResourceUrl; + metricsUrlMc : SafeResourceUrl; public latencyChartColors: Array = [ { // 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() { -- 2.16.6