From 13b0289034f6b7bd58a5de566d72861b4c8bc79e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 23 Jun 2011 13:44:10 -0700 Subject: [PATCH] osd: fix loadavg check Use the syscall, stupid. Signed-off-by: Sage Weil --- src/osd/OSD.cc | 28 +++------------------------- src/osd/OSD.h | 6 ------ 2 files changed, 3 insertions(+), 31 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 4edb735a70983..6a415cf11dead 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -683,12 +683,6 @@ void OSD::open_logger() osd_logtype.add_set(l_osd_qlen, "qlen"); osd_logtype.add_set(l_osd_rqlen, "rqlen"); - osd_logtype.add_set(l_osd_rdlat, "rdlat"); - osd_logtype.add_set(l_osd_rdlatm, "rdlatm"); - osd_logtype.add_set(l_osd_fshdin, "fshdin"); - osd_logtype.add_set(l_osd_fshdout, "fshdout"); - osd_logtype.add_inc(l_osd_shdout, "shdout"); - osd_logtype.add_inc(l_osd_shdin, "shdin"); osd_logtype.add_set(l_osd_loadavg, "loadavg"); @@ -1390,10 +1384,6 @@ void OSD::_refresh_my_stat(utime_t now) logger->fset(l_osd_qlen, my_stat.qlen); logger->fset(l_osd_rqlen, my_stat.recent_qlen); - logger->fset(l_osd_rdlat, my_stat.read_latency); - logger->fset(l_osd_rdlatm, my_stat.read_latency_mine); - logger->fset(l_osd_fshdin, my_stat.frac_rd_ops_shed_in); - logger->fset(l_osd_fshdout, my_stat.frac_rd_ops_shed_out); dout(30) << "_refresh_my_stat " << my_stat << dendl; stat_rd_ops = 0; @@ -1761,21 +1751,9 @@ void OSD::heartbeat() } // get CPU load avg - try { - ifstream in("/proc/loadavg"); - if (in.is_open()) { - float oneminavg; - in >> oneminavg; - logger->fset(l_osd_loadavg, oneminavg); - in.close(); - } - else { - derr << "heartbeat: failed to open /proc/loadavg" << dendl; - } - } - catch (const ios::failure &f) { - derr << "heartbeat: failed to read /proc/loadavg" << dendl; - } + double loadavgs[1]; + if (getloadavg(loadavgs, 1) == 1) + logger->fset(l_osd_loadavg, loadavgs[0]); dout(30) << "heartbeat checking stats" << dendl; diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 486d4de17ef44..66481b554702c 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -85,12 +85,6 @@ enum { l_osd_qlen, l_osd_rqlen, - l_osd_rdlat, - l_osd_rdlatm, - l_osd_fshdin, - l_osd_fshdout, - l_osd_shdout, - l_osd_shdin, l_osd_loadavg, l_osd_rlsum, l_osd_rlnum, -- 2.39.5