Issue: The Latency chart in the rgw overview page shows incorrect data
unit as the unit that we are passing as an input to the dashboard-area
chart component is `ms` whereas the data that we get from the metrics is
in seconds. Due to this if we pass a value like 0.725s to
the dashboard chart component it will show the value in the chart as
0.725ms whereas it should be 725ms.
Fix: Pass the value in ms as expected to the dashboard area chart
component
Fixes: https://tracker.ceph.com/issues/69144
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit
d9aa164cd3891fd6d1ab633b79b0005a1cd7da98)
</cd-dashboard-area-chart>
<cd-dashboard-area-chart chartTitle="Latency"
dataUnits="ms"
+ decimals="2"
[labelsArray]="['GET', 'PUT']"
[dataArray]="[queriesResults.AVG_GET_LATENCY, queriesResults.AVG_PUT_LATENCY]">
</cd-dashboard-area-chart>
checkNan
) {
queriesResults[queryName].forEach((valueArray: any[]) => {
- valueArray.forEach((val, index) => {
- if (isNaN(parseFloat(val[1]))) {
- valueArray[index][1] = '0';
- }
- });
+ if (isNaN(parseFloat(valueArray[1]))) {
+ valueArray[1] = '0';
+ }
});
}
});
export enum RgwPromqls {
RGW_REQUEST_PER_SECOND = 'sum(rate(ceph_rgw_req[1m]))',
- AVG_GET_LATENCY = 'sum(rate(ceph_rgw_op_get_obj_lat_sum[1m])) / sum(rate(ceph_rgw_op_get_obj_lat_count[1m]))',
- AVG_PUT_LATENCY = 'sum(rate(ceph_rgw_op_put_obj_lat_sum[1m])) / sum(rate(ceph_rgw_op_put_obj_lat_count[1m]))',
+ AVG_GET_LATENCY = '(sum(rate(ceph_rgw_op_get_obj_lat_sum[1m])) / sum(rate(ceph_rgw_op_get_obj_lat_count[1m]))) * 1000',
+ AVG_PUT_LATENCY = '(sum(rate(ceph_rgw_op_put_obj_lat_sum[1m])) / sum(rate(ceph_rgw_op_put_obj_lat_count[1m]))) * 1000',
GET_BANDWIDTH = 'sum(rate(ceph_rgw_op_get_obj_bytes[1m]))',
PUT_BANDWIDTH = 'sum(rate(ceph_rgw_op_put_obj_bytes[1m]))'
}