* ========================LICENSE_START=================================
* O-RAN-SC
* %%
- * Copyright (C) 2019 AT&T Intellectual Property and Nokia
+ * Copyright (C) 2019 AT&T Intellectual Property
* %%
* 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.
* limitations under the License.
* ========================LICENSE_END===================================
*/
+import { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
-import { HttpClient } from '@angular/common/http';
-import { HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
-import { HttpErrorResponse } from '@angular/common/http';
+import { DashboardService } from '../dashboard/dashboard.service';
@Injectable({
providedIn: 'root'
})
export class StatsService {
+
+ private component = 'admin';
+
baseJSONServerUrl = 'http://localhost:3000';
dataMetrics = [{}];
latencyMetrics;
})
};
- constructor(private httpClient: HttpClient) {
+ constructor(
+ private dashboardSvc: DashboardService,
+ private httpClient: HttpClient) {
// this.loadConfig();
// this.getLoad();
}
getMetrics() {
-
return this.dataMetrics; // @TODO implement the service to fetch the backend data
}
return this.load;
}
- putLoad(value: number) {
- // this.loadMetrics = this.getRandomValue();
- const jsonValue = '{ "load": ' + value + ' }';
- console.log(jsonValue);
- this.httpClient.put(this.hostURL + this.loadPath, jsonValue , this.httpOptions).subscribe((res) => {
- console.log(res);
- });
+ getRandomValue() {
+ return Math.round((Math.random() * (20 - 0)) + 0);
}
- putDelay(value: number) {
- // this.loadMetrics = this.getRandomValue();
- const jsonValue = '{ "delay": ' + value + ' }';
- console.log(jsonValue);
- this.httpClient.put(this.hostURL + this.delayPath, jsonValue , this.httpOptions).subscribe((res) => {
- console.log(res);
+ // Gets xApp metrics Kibana url for the named application
+ getAppMetricsUrl(appName: string) {
+ const path = this.dashboardSvc.buildPath(this.component, null, 'metrics');
+ return this.httpClient.get(path, {
+ params: new HttpParams()
+ .set('app', appName)
});
}
- getCpuMetrics() {
- this.cpuMetrics = this.getRandomValue();
- return this.cpuMetrics;
- }
-
- getRandomValue() {
- return Math.round((Math.random() * (20 - 0)) + 0);
- }
-
saveConfig(key: string, value: string) {
if (key === 'jsonURL') {
this.baseJSONServerUrl = value;
this.httpClient.put(this.baseJSONServerUrl + '/config/' + key , jsonValue, this.httpOptions).subscribe((res) => {
console.log(res);
});
-
-
}
loadConfig() {