#include <XrdOlbMeter.hh>

Public Member Functions | |
| int | calcLoad (int pcpu, int pio, int pload, int pmem, int ppag) |
| int | FreeSpace (int &tutil) |
| int | isOn () |
| int | Monitor (char *pgm, int itv) |
| char * | Report () |
| void * | Run () |
| void * | RunFS () |
| int | numFS () |
| void | setParms (XrdOucTList *tlp, int warnDups) |
| XrdOlbMeter () | |
| ~XrdOlbMeter () | |
Private Member Functions | |
| void | calcSpace () |
| void | informLoad (void) |
| int | isDup (struct stat &buf, XrdOlbMeterFS *baseFS) |
| const char | Scale (long long inval, long &outval) |
| void | SpaceMsg (int why) |
Private Attributes | |
| XrdOucStream | myMeter |
| XrdSysMutex | cfsMutex |
| XrdSysMutex | repMutex |
| XrdOucTList * | fs_list |
| long long | MinFree |
| long long | HWMFree |
| long long | dsk_tot |
| long long | dsk_free |
| long long | dsk_maxf |
| int | dsk_util |
| int | dsk_calc |
| int | fs_nums |
| int | noSpace |
| int | Running |
| char | ubuff [64] |
| time_t | rep_tod |
| time_t | rep_todfs |
| 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 |
| XrdOlbMeter::XrdOlbMeter | ( | ) |
| XrdOlbMeter::~XrdOlbMeter | ( | ) |
References XrdSysThread::Kill(), monpgm, and montid.
| int XrdOlbMeter::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().
| void XrdOlbMeter::calcSpace | ( | ) | [private] |
References cfsMutex, DEBUG, dsk_free, dsk_maxf, dsk_tot, dsk_util, EPNAME, fs_list, XrdSysMutex::Lock(), MinFree, XrdOucTList::next, STATFS, STATFS_BUFF, XrdOucTList::text, and XrdSysMutex::UnLock().
Referenced by RunFS(), and setParms().
| int XrdOlbMeter::FreeSpace | ( | int & | tutil | ) |
References cfsMutex, dsk_maxf, dsk_util, XrdSysMutex::Lock(), and XrdSysMutex::UnLock().
Referenced by informLoad(), and Report().
| void XrdOlbMeter::informLoad | ( | void | ) | [private] |
References cpu_load, FreeSpace(), XrdCmsManager::Inform(), XrdCms::Manager, mem_load, net_load, pag_load, snprintf, and xeq_load.
Referenced by Run().
| int XrdOlbMeter::isDup | ( | struct stat & | buf, | |
| XrdOlbMeterFS * | baseFS | |||
| ) | [private] |
References XrdOlbMeterFS::Dnum, and XrdOlbMeterFS::Next.
Referenced by setParms().
| int XrdOlbMeter::isOn | ( | ) | [inline] |
References Running.
| int XrdOlbMeter::Monitor | ( | char * | pgm, | |
| int | itv | |||
| ) |
| int XrdOlbMeter::numFS | ( | ) | [inline] |
References fs_nums.
| char * XrdOlbMeter::Report | ( | ) |
References cpu_load, XrdOucStream::Drain(), FreeSpace(), XrdSysMutex::Lock(), mem_load, monint, montid, myMeter, net_load, pag_load, rep_tod, repMutex, snprintf, ubuff, XrdSysMutex::UnLock(), and xeq_load.
| void * XrdOlbMeter::Run | ( | ) |
References calcLoad(), XrdCms::Config, cpu_load, XrdOucStream::Exec(), XrdOucStream::GetLine(), informLoad(), XrdSysMutex::Lock(), mem_load, monpgm, myMeter, net_load, XrdCmsConfig::P_fuzz, pag_load, rep_tod, repMutex, Say, XrdSysMutex::UnLock(), and xeq_load.
Referenced by Monitor(), setParms(), and XrdOlbMeterRun().
| void * XrdOlbMeter::RunFS | ( | ) |
References calcSpace(), dsk_calc, dsk_maxf, HWMFree, XrdCms::Manager, MinFree, noSpace, and SpaceMsg().
Referenced by XrdOlbMeterRunFS().
| const char XrdOlbMeter::Scale | ( | long long | inval, | |
| long & | outval | |||
| ) | [private] |
Referenced by setParms().
| void XrdOlbMeter::setParms | ( | XrdOucTList * | tlp, | |
| int | warnDups | |||
| ) |
References calcSpace(), XrdCms::Config, XrdCmsConfig::DiskAsk, XrdCmsConfig::DiskHWM, XrdCmsConfig::DiskMin, dsk_calc, dsk_maxf, dsk_tot, dsk_util, fs_list, fs_nums, HWMFree, isDup(), XrdCms::Manager, MinFree, XrdOlbMeterFS::Next, XrdOucTList::next, noSpace, Run(), Say, Scale(), stat(), STATFS, STATFS_BUFF, XrdOucTList::text, and XrdOlbMeterRunFS().
| void XrdOlbMeter::SpaceMsg | ( | int | why | ) | [private] |
XrdSysMutex XrdOlbMeter::cfsMutex [private] |
Referenced by calcSpace(), and FreeSpace().
unsigned int XrdOlbMeter::cpu_load [private] |
Referenced by informLoad(), Report(), Run(), and XrdOlbMeter().
int XrdOlbMeter::dsk_calc [private] |
Referenced by RunFS(), setParms(), and XrdOlbMeter().
long long XrdOlbMeter::dsk_free [private] |
Referenced by calcSpace(), and XrdOlbMeter().
long long XrdOlbMeter::dsk_maxf [private] |
Referenced by calcSpace(), FreeSpace(), RunFS(), setParms(), SpaceMsg(), and XrdOlbMeter().
long long XrdOlbMeter::dsk_tot [private] |
Referenced by calcSpace(), setParms(), and XrdOlbMeter().
int XrdOlbMeter::dsk_util [private] |
Referenced by calcSpace(), FreeSpace(), and setParms().
XrdOucTList* XrdOlbMeter::fs_list [private] |
Referenced by calcSpace(), setParms(), and XrdOlbMeter().
int XrdOlbMeter::fs_nums [private] |
Referenced by numFS(), setParms(), and XrdOlbMeter().
long long XrdOlbMeter::HWMFree [private] |
Referenced by RunFS(), setParms(), SpaceMsg(), and XrdOlbMeter().
unsigned int XrdOlbMeter::mem_load [private] |
Referenced by informLoad(), Report(), Run(), and XrdOlbMeter().
long long XrdOlbMeter::MinFree [private] |
Referenced by calcSpace(), RunFS(), setParms(), SpaceMsg(), and XrdOlbMeter().
int XrdOlbMeter::monint [private] |
Referenced by Monitor(), Report(), and XrdOlbMeter().
char* XrdOlbMeter::monpgm [private] |
Referenced by Monitor(), Run(), XrdOlbMeter(), and ~XrdOlbMeter().
pthread_t XrdOlbMeter::montid [private] |
Referenced by Monitor(), Report(), XrdOlbMeter(), and ~XrdOlbMeter().
XrdOucStream XrdOlbMeter::myMeter [private] |
unsigned int XrdOlbMeter::net_load [private] |
Referenced by informLoad(), Report(), Run(), and XrdOlbMeter().
int XrdOlbMeter::noSpace [private] |
Referenced by RunFS(), setParms(), SpaceMsg(), and XrdOlbMeter().
unsigned int XrdOlbMeter::pag_load [private] |
Referenced by informLoad(), Report(), Run(), and XrdOlbMeter().
time_t XrdOlbMeter::rep_tod [private] |
Referenced by Report(), Run(), and XrdOlbMeter().
time_t XrdOlbMeter::rep_todfs [private] |
Referenced by XrdOlbMeter().
XrdSysMutex XrdOlbMeter::repMutex [private] |
int XrdOlbMeter::Running [private] |
Referenced by isOn(), Monitor(), and XrdOlbMeter().
char XrdOlbMeter::ubuff[64] [private] |
Referenced by Report().
unsigned int XrdOlbMeter::xeq_load [private] |
Referenced by informLoad(), Report(), Run(), and XrdOlbMeter().
1.7.1