From: Xuehan Xu Date: Mon, 16 May 2022 06:32:09 +0000 (+0800) Subject: crimson/admin: deal with seastar's new metric types/logics X-Git-Tag: v18.0.0~886^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F46274%2Fhead;p=ceph.git crimson/admin: deal with seastar's new metric types/logics Fixes: https://tracker.ceph.com/issues/55666 Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/admin/osd_admin.cc b/src/crimson/admin/osd_admin.cc index 79ca6e853d82..970010c970c9 100644 --- a/src/crimson/admin/osd_admin.cc +++ b/src/crimson/admin/osd_admin.cc @@ -245,8 +245,18 @@ private: case data_type::GAUGE: f->dump_float(value_name, v.d()); break; + case data_type::REAL_COUNTER: + f->dump_float(value_name, v.d()); + break; case data_type::COUNTER: - f->dump_unsigned(value_name, v.ui()); + double val; + try { + val = v.ui(); + } catch (std::range_error&) { + // seastar's cpu steal time may be negative + val = 0; + } + f->dump_unsigned(value_name, val); break; case data_type::HISTOGRAM: { f->open_object_section(value_name);