From 9ef1a729b5100b0ee32c0df367ef4b33ba762d4a Mon Sep 17 00:00:00 2001 From: Kiefer Chang Date: Sun, 27 Dec 2020 09:04:06 +0800 Subject: [PATCH] mgr/dashboard: fix Reads/Writes ratio of Clients IOPS donut chart Use the percentage of READ ops instead of its value. Fixes: https://tracker.ceph.com/issues/48717 Signed-off-by: Kiefer Chang --- .../src/app/ceph/dashboard/health/health.component.spec.ts | 5 +++-- .../src/app/ceph/dashboard/health/health.component.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.spec.ts index 54a6c8a1f7647..e1de5f7f59640 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.spec.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.spec.ts @@ -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', () => { diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.ts index 64677229c3727..79cfd8f7e916c 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.ts @@ -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 -- 2.39.5