]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: fix Reads/Writes ratio of Clients IOPS donut chart 38720/head
authorKiefer Chang <kiefer.chang@suse.com>
Sun, 27 Dec 2020 01:04:06 +0000 (09:04 +0800)
committerKiefer Chang <kiefer.chang@suse.com>
Sun, 27 Dec 2020 01:56:08 +0000 (09:56 +0800)
Use the percentage of READ ops instead of its value.

Fixes: https://tracker.ceph.com/issues/48717
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.ts

index 54a6c8a1f764745da68059a5414cc5ffb5f2866c..e1de5f7f59640ec69e9db07ecb2f24b5ad3a18d7 100644 (file)
@@ -218,15 +218,16 @@ describe('HealthComponent', () => {
   });
 
   it('event binding "prepareReadWriteRatio" is called', () => {
-    const prepareReadWriteRatio = spyOn(component, 'prepareReadWriteRatio');
+    const prepareReadWriteRatio = spyOn(component, 'prepareReadWriteRatio').and.callThrough();
 
     const payload = _.cloneDeep(healthPayload);
     payload.client_perf['read_op_per_sec'] = 1;
-    payload.client_perf['write_op_per_sec'] = 1;
+    payload.client_perf['write_op_per_sec'] = 3;
     getHealthSpy.and.returnValue(of(payload));
     fixture.detectChanges();
 
     expect(prepareReadWriteRatio).toHaveBeenCalled();
+    expect(prepareReadWriteRatio.calls.mostRecent().args[0].dataset[0].data).toEqual([25, 75]);
   });
 
   it('event binding "prepareRawUsage" is called', () => {
index 64677229c3727c227f3b14e5d9e4aacbf2ea93c4..79cfd8f7e916cf237c63818a18eacfb1ecf9d343 100644 (file)
@@ -92,7 +92,7 @@ export class HealthComponent implements OnInit, OnDestroy {
         this.healthData.client_perf.read_op_per_sec
       )} ${$localize`/s`}`
     );
-    ratioData.push(this.healthData.client_perf.read_op_per_sec);
+    ratioData.push(this.calcPercentage(this.healthData.client_perf.read_op_per_sec, total));
     ratioLabels.push(
       `${$localize`Writes`}: ${this.dimless.transform(
         this.healthData.client_perf.write_op_per_sec