|
xrootd
|
#include <XrdCmsMeter.hh>

Public Types | |
| enum | vType { manFS = 1, peerFS = 2 } |
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 |
| enum XrdCmsMeter::vType |
| XrdCmsMeter::XrdCmsMeter | ( | ) |
| XrdCmsMeter::~XrdCmsMeter | ( | ) |
References monpgm, montid, and XrdSysThread::Kill().
| int XrdCmsMeter::calcLoad | ( | int | pcpu, |
| int | pio, | ||
| int | pload, | ||
| int | pmem, | ||
| int | ppag | ||
| ) |
References XrdCms::Config, XrdCmsConfig::P_cpu, XrdCmsConfig::P_io, XrdCmsConfig::P_load, XrdCmsConfig::P_mem, and XrdCmsConfig::P_pag.
Referenced by Run(), and XrdCmsNode::do_Load().
| int XrdCmsMeter::calcLoad | ( | int | xload, |
| int | pdsk | ||
| ) |
References XrdCms::Config, and XrdCmsConfig::P_dsk.
| void XrdCmsMeter::calcSpace | ( | ) | [private] |
| int XrdCmsMeter::FreeSpace | ( | int & | tutil | ) |
References Virtual, peerFS, VirtUpdt, UpdtSpace(), lastUtil, lastFree, cfsMutex, XrdSysMutex::Lock(), dsk_maxf, dsk_util, and XrdSysMutex::UnLock().
Referenced by Report(), XrdCmsNode::do_Space(), and XrdCmsProtocol::Pander().
| void XrdCmsMeter::Init | ( | ) |
References XrdCms::Config, XrdCmsConfig::ossFS, XrdOss::StatVS(), Say, noSpace, fs_nums, XrdOssVSInfo::Extents, dsk_tot, XrdOssVSInfo::Total, dsk_lpn, XrdOssVSInfo::Large, XrdCmsConfig::asSolo(), XrdCms::CmsState, XrdCmsState::Update(), XrdCmsState::Space, XrdCmsConfig::DiskMinP, MinFree, XrdCmsConfig::DiskMin, MinStype, Scale(), MinShow, XrdCmsConfig::DiskHWMP, HWMFree, XrdCmsConfig::DiskHWM, HWMStype, HWMShow, dsk_calc, XrdCmsConfig::DiskAsk, calcSpace(), dsk_maxf, XrdSysThread::Run(), XrdCmsMeterRunFS(), dsk_free, and dsk_util.
Referenced by XrdCmsConfig::setupServer().
| int XrdCmsMeter::isOn | ( | ) | [inline] |
References Running.
| int XrdCmsMeter::Monitor | ( | char * | pgm, |
| int | itv | ||
| ) |
References monpgm, access(), X_OK, Say, monint, XrdSysThread::Run(), montid, XrdCmsMeterRun(), and Running.
Referenced by XrdCmsConfig::setupServer().
| int XrdCmsMeter::numFS | ( | ) | [inline] |
References fs_nums.
Referenced by XrdCmsProtocol::Pander().
| void XrdCmsMeter::Record | ( | int | pcpu, |
| int | pnet, | ||
| int | pxeq, | ||
| int | pmem, | ||
| int | ppag, | ||
| int | pdsk | ||
| ) |
References repMutex, XrdSysMutex::Lock(), cpu_load, net_load, xeq_load, mem_load, pag_load, and XrdSysMutex::UnLock().
Referenced by XrdCmsNode::do_Load().
| int XrdCmsMeter::Report | ( | int & | pcpu, |
| int & | pnet, | ||
| int & | pxeq, | ||
| int & | pmem, | ||
| int & | ppag, | ||
| int & | pdsk | ||
| ) |
References Virtual, montid, rep_tod, monint, myMeter, XrdOucStream::Drain(), repMutex, XrdSysMutex::Lock(), FreeSpace(), Running, cpu_load, net_load, mem_load, pag_load, xeq_load, and XrdSysMutex::UnLock().
Referenced by XrdCmsNode::Report_Usage().
| void * XrdCmsMeter::Run | ( | ) |
References myMeter, XrdOucStream::Exec(), monpgm, XrdOucStream::GetLine(), repMutex, XrdSysMutex::Lock(), xeq_load, cpu_load, mem_load, pag_load, net_load, rep_tod, XrdSysMutex::UnLock(), calcLoad(), XrdCms::Config, XrdCmsConfig::P_fuzz, XrdCmsNode::Report_Usage(), and Say.
Referenced by XrdCmsMeterRun().
| void * XrdCmsMeter::RunFS | ( | ) |
References dsk_calc, calcSpace(), dsk_maxf, noSpace, HWMFree, MinFree, SpaceMsg(), XrdCms::Config, XrdCmsConfig::asSolo(), XrdCms::CmsState, XrdCmsState::Update(), and XrdCmsState::Space.
Referenced by XrdCmsMeterRunFS().
| char XrdCmsMeter::Scale | ( | long long | inval, |
| long & | outval | ||
| ) | [private] |
Referenced by Init(), and SpaceMsg().
| void XrdCmsMeter::setVirtual | ( | vType | vVal | ) | [inline] |
References Virtual.
Referenced by XrdCmsConfig::Configure2().
| void XrdCmsMeter::setVirtUpdt | ( | ) | [inline] |
References cfsMutex, XrdSysMutex::Lock(), VirtUpdt, and XrdSysMutex::UnLock().
Referenced by XrdCmsNode::do_Load(), and XrdCmsProtocol::Admit().
| void XrdCmsMeter::SpaceMsg | ( | int | why | ) | [private] |
| unsigned int XrdCmsMeter::TotalSpace | ( | unsigned int & | minfree | ) |
References Virtual, peerFS, VirtUpdt, UpdtSpace(), cfsMutex, XrdSysMutex::Lock(), dsk_tot, MinFree, and XrdSysMutex::UnLock().
Referenced by XrdCmsProtocol::Pander().
| void XrdCmsMeter::UpdtSpace | ( | ) | [private] |
References XrdCms::Cluster, XrdCmsCluster::Space(), cfsMutex, XrdSysMutex::Lock(), XrdCms::SpaceData::wFree, XrdCms::SpaceData::sFree, lastFree, lastUtil, XrdCms::SpaceData::wUtil, XrdCms::SpaceData::sUtil, dsk_tot, XrdCms::SpaceData::Total, MinFree, XrdCms::SpaceData::wMinF, VirtUpdt, and XrdSysMutex::UnLock().
Referenced by FreeSpace(), and TotalSpace().
XrdSysMutex XrdCmsMeter::cfsMutex [private] |
Referenced by FreeSpace(), TotalSpace(), calcSpace(), UpdtSpace(), and setVirtUpdt().
unsigned int XrdCmsMeter::cpu_load [private] |
Referenced by XrdCmsMeter(), Record(), Report(), and Run().
int XrdCmsMeter::dsk_calc [private] |
Referenced by XrdCmsMeter(), Init(), and RunFS().
long long XrdCmsMeter::dsk_free [private] |
Referenced by XrdCmsMeter(), Init(), and calcSpace().
long long XrdCmsMeter::dsk_lpn [private] |
Referenced by XrdCmsMeter(), and Init().
long long XrdCmsMeter::dsk_maxf [private] |
Referenced by XrdCmsMeter(), FreeSpace(), Init(), RunFS(), calcSpace(), and SpaceMsg().
long long XrdCmsMeter::dsk_tot [private] |
Referenced by XrdCmsMeter(), Init(), TotalSpace(), calcSpace(), and UpdtSpace().
int XrdCmsMeter::dsk_util [private] |
Referenced by FreeSpace(), Init(), and calcSpace().
int XrdCmsMeter::fs_nums [private] |
Referenced by XrdCmsMeter(), Init(), and numFS().
long long XrdCmsMeter::HWMFree [private] |
Referenced by XrdCmsMeter(), Init(), and RunFS().
long XrdCmsMeter::HWMShow [private] |
Referenced by Init(), and SpaceMsg().
char XrdCmsMeter::HWMStype [private] |
Referenced by Init(), and SpaceMsg().
int XrdCmsMeter::lastFree [private] |
Referenced by XrdCmsMeter(), FreeSpace(), and UpdtSpace().
int XrdCmsMeter::lastUtil [private] |
Referenced by XrdCmsMeter(), FreeSpace(), and UpdtSpace().
unsigned int XrdCmsMeter::mem_load [private] |
Referenced by XrdCmsMeter(), Record(), Report(), and Run().
long long XrdCmsMeter::MinFree [private] |
Referenced by XrdCmsMeter(), Init(), RunFS(), TotalSpace(), and UpdtSpace().
long XrdCmsMeter::MinShow [private] |
Referenced by Init(), and SpaceMsg().
char XrdCmsMeter::MinStype [private] |
Referenced by Init(), and SpaceMsg().
int XrdCmsMeter::monint [private] |
Referenced by XrdCmsMeter(), Monitor(), and Report().
char* XrdCmsMeter::monpgm [private] |
Referenced by XrdCmsMeter(), ~XrdCmsMeter(), Monitor(), and Run().
pthread_t XrdCmsMeter::montid [private] |
Referenced by XrdCmsMeter(), ~XrdCmsMeter(), Monitor(), and Report().
XrdOucStream XrdCmsMeter::myMeter [private] |
unsigned int XrdCmsMeter::net_load [private] |
Referenced by XrdCmsMeter(), Record(), Report(), and Run().
int XrdCmsMeter::noSpace [private] |
Referenced by XrdCmsMeter(), Init(), RunFS(), and SpaceMsg().
unsigned int XrdCmsMeter::pag_load [private] |
Referenced by XrdCmsMeter(), Record(), Report(), and Run().
time_t XrdCmsMeter::rep_tod [private] |
Referenced by XrdCmsMeter(), Report(), and Run().
XrdSysMutex XrdCmsMeter::repMutex [private] |
int XrdCmsMeter::Running [private] |
Referenced by XrdCmsMeter(), Monitor(), Report(), and isOn().
char XrdCmsMeter::Virtual [private] |
Referenced by XrdCmsMeter(), FreeSpace(), Report(), TotalSpace(), and setVirtual().
char XrdCmsMeter::VirtUpdt [private] |
Referenced by XrdCmsMeter(), FreeSpace(), TotalSpace(), UpdtSpace(), and setVirtUpdt().
unsigned int XrdCmsMeter::xeq_load [private] |
Referenced by XrdCmsMeter(), Record(), Report(), and Run().
1.7.5