#include <XrdCmsMeter.hh>
Public Types | |
| enum | vType { manFS = 1 , peerFS = 2 } |
Public Member Functions | |
| XrdCmsMeter () | |
| ~XrdCmsMeter () | |
| int | calcLoad (int xload, uint32_t pdsk) |
| int | calcLoad (uint32_t pcpu, uint32_t pio, uint32_t pload, uint32_t pmem, uint32_t ppag) |
| int | FreeSpace (int &tutil) |
| void | Init () |
| int | isOn () |
| int | Monitor (char *pgm, int itv) |
| int | Monitor (int itv) |
| int | numFS () |
| void | PutInfo (XrdCmsPerfMon::PerfInfo &perfInfo, bool alert=false) |
| 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 () |
| void * | RunPM () |
| void | setVirtual (vType vVal) |
| void | setVirtUpdt () |
| unsigned int | TotalSpace (unsigned int &minfree) |
| bool | Update (char *line, bool alert=false) |
| Public Member Functions inherited from XrdCmsPerfMon | |
| XrdCmsPerfMon () | |
| Constructor & Destructor. | |
| virtual | ~XrdCmsPerfMon () |
| virtual bool | Configure (const char *cfn, char *Parms, XrdSysLogger &Logger, XrdCmsPerfMon &cmsMon, XrdOucEnv *EnvInfo, bool isCMS) |
| virtual void | GetInfo (PerfInfo &info) |
Definition at line 38 of file XrdCmsMeter.hh.
| enum XrdCmsMeter::vType |
| XrdCmsMeter::XrdCmsMeter | ( | ) |
Definition at line 86 of file XrdCmsMeter.cc.
References XrdCms::Say.
| XrdCmsMeter::~XrdCmsMeter | ( | ) |
Definition at line 120 of file XrdCmsMeter.cc.
References XrdSysThread::Kill().
| int XrdCmsMeter::calcLoad | ( | int | xload, |
| uint32_t | pdsk ) |
Definition at line 148 of file XrdCmsMeter.cc.
References XrdCms::Config.
| int XrdCmsMeter::calcLoad | ( | uint32_t | pcpu, |
| uint32_t | pio, | ||
| uint32_t | pload, | ||
| uint32_t | pmem, | ||
| uint32_t | ppag ) |
Definition at line 130 of file XrdCmsMeter.cc.
References XrdCms::Config.
Referenced by PutInfo(), and Update().
| int XrdCmsMeter::FreeSpace | ( | int & | tutil | ) |
Definition at line 158 of file XrdCmsMeter.cc.
References peerFS.
Referenced by Report().
| void XrdCmsMeter::Init | ( | ) |
Definition at line 191 of file XrdCmsMeter.cc.
References XrdCms::CmsState, XrdCms::Config, XrdOssVSInfo::Extents, XrdOssVSInfo::Large, XrdSysThread::Run(), XrdCms::Say, XrdCmsState::Space, and XrdOssVSInfo::Total.
|
inline |
Definition at line 51 of file XrdCmsMeter.hh.
| int XrdCmsMeter::Monitor | ( | char * | pgm, |
| int | itv ) |
Definition at line 258 of file XrdCmsMeter.cc.
References access, XrdSysThread::Run(), and XrdCms::Say.
| int XrdCmsMeter::Monitor | ( | int | itv | ) |
Definition at line 288 of file XrdCmsMeter.cc.
References XrdCmsPerfMon::XrdCmsPerfMon(), XrdCms::Config, XrdCmsUtils::loadPerfMon(), XrdSysThread::Run(), and XrdCms::Say.
|
inline |
Definition at line 70 of file XrdCmsMeter.hh.
|
virtual |
Report performance statistics as load values from 0 to 100. The performance monitor plugin may call this method to asynchronously report performance via the passed XrdCmsPerfMon object during configuration.
| info | Reference to the structure that should be filled out with load values. See the PerfInfo structure. |
| alert | When true, load information is forcibly sent to the cluster's manager. Otherwise, it is only sent if it significantly changes. See the cms.sched directive fuzz parameter. |
Reimplemented from XrdCmsPerfMon.
Definition at line 324 of file XrdCmsMeter.cc.
References calcLoad(), XrdCms::Config, XrdCmsPerfMon::PerfInfo::cpu_load, XrdCmsPerfMon::PerfInfo::mem_load, XrdCmsPerfMon::PerfInfo::net_load, XrdCmsPerfMon::PerfInfo::pag_load, XrdCmsNode::Report_Usage(), and XrdCmsPerfMon::PerfInfo::xeq_load.
Referenced by RunPM().
| void XrdCmsMeter::Record | ( | int | pcpu, |
| int | pnet, | ||
| int | pxeq, | ||
| int | pmem, | ||
| int | ppag, | ||
| int | pdsk ) |
Definition at line 351 of file XrdCmsMeter.cc.
| int XrdCmsMeter::Report | ( | int & | pcpu, |
| int & | pnet, | ||
| int & | pxeq, | ||
| int & | pmem, | ||
| int & | ppag, | ||
| int & | pdsk ) |
Definition at line 374 of file XrdCmsMeter.cc.
References FreeSpace().
| void * XrdCmsMeter::Run | ( | ) |
Definition at line 402 of file XrdCmsMeter.cc.
References XrdCms::Say, XrdSysTimer::Snooze(), and Update().
| void * XrdCmsMeter::RunFS | ( | ) |
Definition at line 424 of file XrdCmsMeter.cc.
References XrdCms::CmsState, XrdCms::Config, and XrdCmsState::Space.
| void * XrdCmsMeter::RunPM | ( | ) |
Definition at line 449 of file XrdCmsMeter.cc.
References XrdCmsPerfMon::PerfInfo::Clear(), PutInfo(), and XrdSysTimer::Snooze().
|
inline |
Definition at line 76 of file XrdCmsMeter.hh.
|
inline |
Definition at line 78 of file XrdCmsMeter.hh.
| unsigned int XrdCmsMeter::TotalSpace | ( | unsigned int & | minfree | ) |
Definition at line 468 of file XrdCmsMeter.cc.
References peerFS.
| bool XrdCmsMeter::Update | ( | char * | line, |
| bool | alert = false ) |
Definition at line 502 of file XrdCmsMeter.cc.
References calcLoad(), XrdCms::Config, and XrdCmsNode::Report_Usage().
Referenced by Run().