diff options
Diffstat (limited to 'src/pybind/mgr/dashboard/frontend/src/app/shared/api/performance-counter.service.ts')
-rw-r--r-- | src/pybind/mgr/dashboard/frontend/src/app/shared/api/performance-counter.service.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/api/performance-counter.service.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/api/performance-counter.service.ts new file mode 100644 index 000000000..36be6f383 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/api/performance-counter.service.ts @@ -0,0 +1,29 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; + +import { of as observableOf } from 'rxjs'; +import { mergeMap } from 'rxjs/operators'; + +import { cdEncode } from '../decorators/cd-encode'; + +@cdEncode +@Injectable({ + providedIn: 'root' +}) +export class PerformanceCounterService { + private url = 'api/perf_counters'; + + constructor(private http: HttpClient) {} + + list() { + return this.http.get(this.url); + } + + get(service_type: string, service_id: string) { + return this.http.get(`${this.url}/${service_type}/${service_id}`).pipe( + mergeMap((resp: any) => { + return observableOf(resp['counters']); + }) + ); + } +} |