#include <XrdCmsMeter.hh>
Public Types | |
| enum | vType |
Public Member Functions | |
| int | calcLoad (int pcpu, int pio, int pload, int pmem, int ppag) |
| int | calcLoad (int xload, int pdsk) |
| int | FreeSpace (int &tutil) |
| void | Init () |
| int | isOn () |
| int | Monitor (char *pgm, int itv) |
| void | Record (int pcpu, int pnet, int pxeq, int pmem, int ppag, int pdsk) |
| int | Report (int &pcpu, int &pnet, int &pxeq, int &pmem, int &ppag, int &pdsk) |
| void * | Run () |
| void * | RunFS () |
| int | numFS () |
| unsigned int | TotalSpace (unsigned int &minfree) |
| void | setVirtual (vType vVal) |
| void | setVirtUpdt () |
| XrdCmsMeter () | |
| ~XrdCmsMeter () | |
Private Member Functions | |
| void | calcSpace () |
| char | Scale (long long inval, long &outval) |
| void | SpaceMsg (int why) |
| void | UpdtSpace () |
Private Attributes | |
| XrdOucStream | myMeter |
| XrdSysMutex | cfsMutex |
| XrdSysMutex | repMutex |
| long long | MinFree |
| long long | HWMFree |
| long long | dsk_lpn |
| long long | dsk_tot |
| long long | dsk_free |
| long long | dsk_maxf |
| int | dsk_util |
| int | dsk_calc |
| int | fs_nums |
| int | lastFree |
| int | lastUtil |
| int | noSpace |
| int | Running |
| long | MinShow |
| long | HWMShow |
| char | MinStype |
| char | HWMStype |
| char | Virtual |
| char | VirtUpdt |
| time_t | rep_tod |
| char * | monpgm |
| int | monint |
| pthread_t | montid |
| unsigned int | xeq_load |
| unsigned int | cpu_load |
| unsigned int | mem_load |
| unsigned int | pag_load |
| unsigned int | net_load |
Definition at line 19 of file XrdCmsMeter.hh.
| enum XrdCmsMeter::vType |
Definition at line 49 of file XrdCmsMeter.hh.
| XrdCmsMeter::XrdCmsMeter | ( | ) |
| XrdCmsMeter::~XrdCmsMeter | ( | ) |
Definition at line 94 of file XrdCmsMeter.cc.
References free(), XrdSysThread::Kill(), monpgm, and montid.
| int XrdCmsMeter::calcLoad | ( | int | pcpu, | |
| int | pio, | |||
| int | pload, | |||
| int | pmem, | |||
| int | ppag | |||
| ) |
Definition at line 104 of file XrdCmsMeter.cc.
References XrdFrm::Config().
Referenced by XrdCmsNode::do_Load(), and Run().
| int XrdCmsMeter::calcLoad | ( | int | xload, | |
| int | pdsk | |||
| ) |
| int XrdCmsMeter::FreeSpace | ( | int & | tutil | ) |
Definition at line 124 of file XrdCmsMeter.cc.
References cfsMutex, dsk_maxf, dsk_util, lastFree, lastUtil, XrdSysMutex::Lock(), peerFS, XrdSysMutex::UnLock(), UpdtSpace(), Virtual, and VirtUpdt.
Referenced by XrdCmsNode::do_Space(), XrdCmsProtocol::Pander(), and Report().
| void XrdCmsMeter::Init | ( | ) |
Definition at line 157 of file XrdCmsMeter.cc.
References calcSpace(), XrdCms::CmsState, XrdFrm::Config(), dsk_calc, dsk_free, dsk_lpn, dsk_maxf, dsk_tot, dsk_util, XrdSysError::Emsg(), XrdOssVSInfo::Extents, fs_nums, HWMFree, HWMShow, HWMStype, XrdOssVSInfo::Large, MinFree, MinShow, MinStype, noSpace, XrdFrmConfig::ossFS, XrdSysThread::Run(), XrdFrm::Say(), Scale(), XrdCmsState::Space, sprintf(), XrdOss::StatVS(), XrdOssVSInfo::Total, XrdCmsState::Update(), and XrdCmsMeterRunFS().
Referenced by XrdCmsConfig::setupServer().
| int XrdCmsMeter::isOn | ( | ) | [inline] |
| int XrdCmsMeter::Monitor | ( | char * | pgm, | |
| int | itv | |||
| ) |
Definition at line 224 of file XrdCmsMeter.cc.
References access, XrdSysError::Emsg(), monint, monpgm, montid, XrdSysThread::Run(), Running, XrdFrm::Say(), X_OK, and XrdCmsMeterRun().
Referenced by XrdCmsConfig::setupServer().
| void XrdCmsMeter::Record | ( | int | pcpu, | |
| int | pnet, | |||
| int | pxeq, | |||
| int | pmem, | |||
| int | ppag, | |||
| int | pdsk | |||
| ) |
Definition at line 256 of file XrdCmsMeter.cc.
References cpu_load, XrdSysMutex::Lock(), mem_load, net_load, pag_load, repMutex, XrdSysMutex::UnLock(), and xeq_load.
Referenced by XrdCmsNode::do_Load().
| int XrdCmsMeter::Report | ( | int & | pcpu, | |
| int & | pnet, | |||
| int & | pxeq, | |||
| int & | pmem, | |||
| int & | ppag, | |||
| int & | pdsk | |||
| ) |
Definition at line 279 of file XrdCmsMeter.cc.
References cpu_load, XrdOucStream::Drain(), FreeSpace(), XrdSysMutex::Lock(), mem_load, monint, montid, myMeter, net_load, pag_load, rep_tod, repMutex, Running, XrdSysMutex::UnLock(), Virtual, and xeq_load.
Referenced by XrdCmsNode::Report_Usage().
| void * XrdCmsMeter::Run | ( | ) |
Definition at line 307 of file XrdCmsMeter.cc.
References calcLoad(), XrdFrm::Config(), cpu_load, XrdSysError::Emsg(), XrdOucStream::Exec(), XrdOucStream::GetLine(), i, XrdSysMutex::Lock(), mem_load, monpgm, myMeter, net_load, pag_load, rep_tod, repMutex, XrdCmsNode::Report_Usage(), XrdFrm::Say(), XrdSysMutex::UnLock(), and xeq_load.
Referenced by XrdCmsMeterRun().
| void * XrdCmsMeter::RunFS | ( | ) |
Definition at line 344 of file XrdCmsMeter.cc.
References calcSpace(), XrdCms::CmsState, XrdFrm::Config(), dsk_calc, dsk_maxf, HWMFree, MinFree, noSpace, XrdCmsState::Space, SpaceMsg(), and XrdCmsState::Update().
Referenced by XrdCmsMeterRunFS().
| int XrdCmsMeter::numFS | ( | ) | [inline] |
Definition at line 45 of file XrdCmsMeter.hh.
References fs_nums.
Referenced by XrdCmsProtocol::Pander().
| unsigned int XrdCmsMeter::TotalSpace | ( | unsigned int & | minfree | ) |
Definition at line 369 of file XrdCmsMeter.cc.
References cfsMutex, dsk_tot, XrdSysMutex::Lock(), MinFree, peerFS, XrdSysMutex::UnLock(), UpdtSpace(), Virtual, and VirtUpdt.
Referenced by XrdCmsProtocol::Pander().
| void XrdCmsMeter::setVirtual | ( | vType | vVal | ) | [inline] |
Definition at line 51 of file XrdCmsMeter.hh.
References Virtual.
Referenced by XrdCmsConfig::Configure2().
| void XrdCmsMeter::setVirtUpdt | ( | ) | [inline] |
Definition at line 53 of file XrdCmsMeter.hh.
References cfsMutex, XrdSysMutex::Lock(), XrdSysMutex::UnLock(), and VirtUpdt.
Referenced by XrdCmsProtocol::Admit(), and XrdCmsNode::do_Load().
| void XrdCmsMeter::calcSpace | ( | ) | [private] |
Definition at line 407 of file XrdCmsMeter.cc.
References cfsMutex, XrdFrm::Config(), DEBUG, dsk_free, dsk_maxf, dsk_tot, dsk_util, XrdSysError::Emsg(), EPNAME, XrdOssVSInfo::Free, XrdOssVSInfo::LFree, XrdSysMutex::Lock(), XrdFrmConfig::ossFS, XrdFrm::Say(), XrdOss::StatVS(), and XrdSysMutex::UnLock().
| void XrdCmsMeter::SpaceMsg | ( | int | why | ) | [private] |
Definition at line 459 of file XrdCmsMeter.cc.
References dsk_maxf, XrdSysError::Emsg(), HWMShow, HWMStype, MinShow, MinStype, noSpace, XrdFrm::Say(), Scale(), sprintf(), and RooFit::What().
Referenced by RunFS().
| void XrdCmsMeter::UpdtSpace | ( | ) | [private] |
Definition at line 487 of file XrdCmsMeter.cc.
References cfsMutex, XrdCms::Cluster, dsk_tot, lastFree, lastUtil, XrdSysMutex::Lock(), MinFree, XrdCms::SpaceData::sFree, XrdCmsCluster::Space(), XrdCms::SpaceData::sUtil, XrdCms::SpaceData::Total, XrdSysMutex::UnLock(), VirtUpdt, XrdCms::SpaceData::wFree, XrdCms::SpaceData::wMinF, and XrdCms::SpaceData::wUtil.
Referenced by FreeSpace(), and TotalSpace().
XrdOucStream XrdCmsMeter::myMeter [private] |
XrdSysMutex XrdCmsMeter::cfsMutex [private] |
Definition at line 65 of file XrdCmsMeter.hh.
Referenced by calcSpace(), FreeSpace(), setVirtUpdt(), TotalSpace(), and UpdtSpace().
XrdSysMutex XrdCmsMeter::repMutex [private] |
long long XrdCmsMeter::MinFree [private] |
Definition at line 67 of file XrdCmsMeter.hh.
Referenced by Init(), RunFS(), TotalSpace(), UpdtSpace(), and XrdCmsMeter().
long long XrdCmsMeter::HWMFree [private] |
long long XrdCmsMeter::dsk_lpn [private] |
long long XrdCmsMeter::dsk_tot [private] |
Definition at line 70 of file XrdCmsMeter.hh.
Referenced by calcSpace(), Init(), TotalSpace(), UpdtSpace(), and XrdCmsMeter().
long long XrdCmsMeter::dsk_free [private] |
long long XrdCmsMeter::dsk_maxf [private] |
Definition at line 72 of file XrdCmsMeter.hh.
Referenced by calcSpace(), FreeSpace(), Init(), RunFS(), SpaceMsg(), and XrdCmsMeter().
int XrdCmsMeter::dsk_util [private] |
int XrdCmsMeter::dsk_calc [private] |
int XrdCmsMeter::fs_nums [private] |
int XrdCmsMeter::lastFree [private] |
Definition at line 76 of file XrdCmsMeter.hh.
Referenced by FreeSpace(), UpdtSpace(), and XrdCmsMeter().
int XrdCmsMeter::lastUtil [private] |
Definition at line 77 of file XrdCmsMeter.hh.
Referenced by FreeSpace(), UpdtSpace(), and XrdCmsMeter().
int XrdCmsMeter::noSpace [private] |
Definition at line 78 of file XrdCmsMeter.hh.
Referenced by Init(), RunFS(), SpaceMsg(), and XrdCmsMeter().
int XrdCmsMeter::Running [private] |
Definition at line 79 of file XrdCmsMeter.hh.
Referenced by isOn(), Monitor(), Report(), and XrdCmsMeter().
long XrdCmsMeter::MinShow [private] |
long XrdCmsMeter::HWMShow [private] |
char XrdCmsMeter::MinStype [private] |
char XrdCmsMeter::HWMStype [private] |
char XrdCmsMeter::Virtual [private] |
Definition at line 84 of file XrdCmsMeter.hh.
Referenced by FreeSpace(), Report(), setVirtual(), TotalSpace(), and XrdCmsMeter().
char XrdCmsMeter::VirtUpdt [private] |
Definition at line 85 of file XrdCmsMeter.hh.
Referenced by FreeSpace(), setVirtUpdt(), TotalSpace(), UpdtSpace(), and XrdCmsMeter().
time_t XrdCmsMeter::rep_tod [private] |
char* XrdCmsMeter::monpgm [private] |
Definition at line 88 of file XrdCmsMeter.hh.
Referenced by Monitor(), Run(), XrdCmsMeter(), and ~XrdCmsMeter().
int XrdCmsMeter::monint [private] |
pthread_t XrdCmsMeter::montid [private] |
Definition at line 90 of file XrdCmsMeter.hh.
Referenced by Monitor(), Report(), XrdCmsMeter(), and ~XrdCmsMeter().
unsigned int XrdCmsMeter::xeq_load [private] |
Definition at line 92 of file XrdCmsMeter.hh.
Referenced by Record(), Report(), Run(), and XrdCmsMeter().
unsigned int XrdCmsMeter::cpu_load [private] |
Definition at line 93 of file XrdCmsMeter.hh.
Referenced by Record(), Report(), Run(), and XrdCmsMeter().
unsigned int XrdCmsMeter::mem_load [private] |
Definition at line 94 of file XrdCmsMeter.hh.
Referenced by Record(), Report(), Run(), and XrdCmsMeter().
unsigned int XrdCmsMeter::pag_load [private] |
Definition at line 95 of file XrdCmsMeter.hh.
Referenced by Record(), Report(), Run(), and XrdCmsMeter().
unsigned int XrdCmsMeter::net_load [private] |
Definition at line 96 of file XrdCmsMeter.hh.
Referenced by Record(), Report(), Run(), and XrdCmsMeter().
1.5.1