|
XRootD
|
#include <XrdCmsMeter.hh>
Inheritance diagram for XrdCmsMeter:
Collaboration diagram for XrdCmsMeter: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.
| XrdCmsMeter::~XrdCmsMeter | ( | ) |
Definition at line 120 of file XrdCmsMeter.cc.
References XrdSysThread::Kill().
Here is the call graph for this function:| int XrdCmsMeter::calcLoad | ( | int | xload, |
| uint32_t | pdsk | ||
| ) |
Definition at line 148 of file XrdCmsMeter.cc.
References XrdCms::Config, and XrdCmsConfig::P_dsk.
| 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, XrdCmsConfig::P_cpu, XrdCmsConfig::P_io, XrdCmsConfig::P_load, XrdCmsConfig::P_mem, and XrdCmsConfig::P_pag.
Referenced by XrdCmsNode::do_Load(), PutInfo(), and Update().
Here is the caller graph for this function:| int XrdCmsMeter::FreeSpace | ( | int & | tutil | ) |
Definition at line 158 of file XrdCmsMeter.cc.
References XrdSysMutex::Lock(), peerFS, and XrdSysMutex::UnLock().
Referenced by XrdCmsNode::do_Space(), and Report().
Here is the call graph for this function:
Here is the caller graph for this function:| void XrdCmsMeter::Init | ( | ) |
Definition at line 191 of file XrdCmsMeter.cc.
References XrdCmsConfig::asSolo(), XrdCms::CmsState, XrdCms::Config, XrdCmsConfig::DiskAsk, XrdCmsConfig::DiskHWM, XrdCmsConfig::DiskHWMP, XrdCmsConfig::DiskMin, XrdCmsConfig::DiskMinP, XrdSysError::Emsg(), XrdOssVSInfo::Extents, XrdOssVSInfo::Large, XrdCmsConfig::ossFS, XrdSysThread::Run(), XrdCms::Say, XrdCmsState::Space, XrdOss::StatVS(), XrdOssVSInfo::Total, and XrdCmsState::Update().
Here is the call graph for this function:
|
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, XrdSysError::Emsg(), XrdSysThread::Run(), and XrdCms::Say.
Here is the call graph for this function:| int XrdCmsMeter::Monitor | ( | int | itv | ) |
Definition at line 288 of file XrdCmsMeter.cc.
References XrdCms::Config, XrdCmsConfig::ConfigFN, XrdCmsPerfMon::Configure(), XrdSysError::Emsg(), XrdCmsUtils::loadPerfMon(), XrdSysError::logger(), XrdCmsConfig::myVInfo, XrdCmsConfig::prfLib, XrdCmsConfig::prfParms, XrdSysThread::Run(), and XrdCms::Say.
Here is the call graph for this function:
|
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, XrdSysMutex::Lock(), XrdCmsPerfMon::PerfInfo::mem_load, XrdCmsPerfMon::PerfInfo::net_load, XrdCmsConfig::P_fuzz, XrdCmsPerfMon::PerfInfo::pag_load, XrdCmsNode::Report_Usage(), XrdSysMutex::UnLock(), and XrdCmsPerfMon::PerfInfo::xeq_load.
Referenced by RunPM().
Here is the call graph for this function:
Here is the caller graph for this function:| void XrdCmsMeter::Record | ( | int | pcpu, |
| int | pnet, | ||
| int | pxeq, | ||
| int | pmem, | ||
| int | ppag, | ||
| int | pdsk | ||
| ) |
Definition at line 351 of file XrdCmsMeter.cc.
References XrdSysMutex::Lock(), and XrdSysMutex::UnLock().
Referenced by XrdCmsNode::do_Load().
Here is the call graph for this function:
Here is the caller graph for this function:| int XrdCmsMeter::Report | ( | int & | pcpu, |
| int & | pnet, | ||
| int & | pxeq, | ||
| int & | pmem, | ||
| int & | ppag, | ||
| int & | pdsk | ||
| ) |
Definition at line 374 of file XrdCmsMeter.cc.
References XrdOucStream::Drain(), FreeSpace(), XrdSysMutex::Lock(), and XrdSysMutex::UnLock().
Referenced by XrdCmsNode::Report_Usage().
Here is the call graph for this function:
Here is the caller graph for this function:| void * XrdCmsMeter::Run | ( | ) |
Definition at line 402 of file XrdCmsMeter.cc.
References XrdSysError::Emsg(), XrdOucStream::Exec(), XrdOucStream::GetLine(), XrdCms::Say, XrdSysTimer::Snooze(), and Update().
Here is the call graph for this function:| void * XrdCmsMeter::RunFS | ( | ) |
Definition at line 424 of file XrdCmsMeter.cc.
References XrdCmsConfig::asSolo(), XrdCms::CmsState, XrdCms::Config, XrdCmsState::Space, and XrdCmsState::Update().
Here is the call graph for this function:| void * XrdCmsMeter::RunPM | ( | ) |
Definition at line 449 of file XrdCmsMeter.cc.
References XrdCmsPerfMon::PerfInfo::Clear(), XrdCmsPerfMon::GetInfo(), PutInfo(), and XrdSysTimer::Snooze().
Here is the call graph for this function:
|
inline |
Definition at line 76 of file XrdCmsMeter.hh.
Referenced by XrdCmsConfig::Configure2().
Here is the caller graph for this function:
|
inline |
Definition at line 78 of file XrdCmsMeter.hh.
References XrdSysMutex::Lock(), and XrdSysMutex::UnLock().
Referenced by XrdCmsNode::do_Load().
Here is the call graph for this function:
Here is the caller graph for this function:| unsigned int XrdCmsMeter::TotalSpace | ( | unsigned int & | minfree | ) |
Definition at line 468 of file XrdCmsMeter.cc.
References XrdSysMutex::Lock(), peerFS, and XrdSysMutex::UnLock().
Here is the call graph for this function:| bool XrdCmsMeter::Update | ( | char * | line, |
| bool | alert = false |
||
| ) |
Definition at line 502 of file XrdCmsMeter.cc.
References calcLoad(), XrdCms::Config, XrdSysMutex::Lock(), XrdCmsConfig::P_fuzz, XrdCmsNode::Report_Usage(), and XrdSysMutex::UnLock().
Referenced by Run().
Here is the call graph for this function:
Here is the caller graph for this function: