xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
XrdCmsMeter Class Reference

#include <XrdCmsMeter.hh>

Inheritance diagram for XrdCmsMeter:
Inheritance graph
[legend]
Collaboration diagram for XrdCmsMeter:
Collaboration graph
[legend]

Public Types

enum  vType { manFS = 1, peerFS = 2 }
 

Public Member Functions

int calcLoad (uint32_t pcpu, uint32_t pio, uint32_t pload, uint32_t pmem, uint32_t ppag)
 
int calcLoad (int xload, uint32_t pdsk)
 
int FreeSpace (int &tutil)
 
void Init ()
 
int isOn ()
 
int Monitor (char *pgm, int itv)
 
int Monitor (int itv)
 
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 ()
 
int numFS ()
 
unsigned int TotalSpace (unsigned int &minfree)
 
void setVirtual (vType vVal)
 
void setVirtUpdt ()
 
bool Update (char *line, bool alert=false)
 
 XrdCmsMeter ()
 
 ~XrdCmsMeter ()
 
- Public Member Functions inherited from XrdCmsPerfMon
virtual bool Configure (const char *cfn, char *Parms, XrdSysLogger &Logger, XrdCmsPerfMon &cmsMon, XrdOucEnv *EnvInfo, bool isCMS)
 
virtual void GetInfo (PerfInfo &info)
 
 XrdCmsPerfMon ()
 Constructor & Destructor. More...
 
virtual ~XrdCmsPerfMon ()
 

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
 
XrdCmsPerfMonmonPerf
 
int monint
 
pthread_t montid
 
uint32_t xeq_load
 
uint32_t cpu_load
 
uint32_t mem_load
 
uint32_t pag_load
 
uint32_t net_load
 
int myLoad
 
int prevLoad
 

Member Enumeration Documentation

Enumerator
manFS 
peerFS 

Constructor & Destructor Documentation

XrdCmsMeter::XrdCmsMeter ( )
XrdCmsMeter::~XrdCmsMeter ( )

Member Function Documentation

int XrdCmsMeter::calcLoad ( uint32_t  pcpu,
uint32_t  pio,
uint32_t  pload,
uint32_t  pmem,
uint32_t  ppag 
)
int XrdCmsMeter::calcLoad ( int  xload,
uint32_t  pdsk 
)
void XrdCmsMeter::calcSpace ( )
private
int XrdCmsMeter::FreeSpace ( int &  tutil)
void XrdCmsMeter::Init ( )
int XrdCmsMeter::isOn ( )
inline

References Running.

int XrdCmsMeter::Monitor ( char *  pgm,
int  itv 
)
int XrdCmsMeter::Monitor ( int  itv)
int XrdCmsMeter::numFS ( )
inline

References fs_nums.

void XrdCmsMeter::PutInfo ( XrdCmsPerfMon::PerfInfo info,
bool  alert = false 
)
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.

Parameters
infoReference to the structure that should be filled out with load values. See the PerfInfo structure.
alertWhen 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.

void XrdCmsMeter::Record ( int  pcpu,
int  pnet,
int  pxeq,
int  pmem,
int  ppag,
int  pdsk 
)
int XrdCmsMeter::Report ( int &  pcpu,
int &  pnet,
int &  pxeq,
int &  pmem,
int &  ppag,
int &  pdsk 
)
void* XrdCmsMeter::Run ( )
void* XrdCmsMeter::RunFS ( )
void* XrdCmsMeter::RunPM ( )
char XrdCmsMeter::Scale ( long long  inval,
long &  outval 
)
private
void XrdCmsMeter::setVirtual ( vType  vVal)
inline

References Virtual.

void XrdCmsMeter::setVirtUpdt ( )
inline
void XrdCmsMeter::SpaceMsg ( int  why)
private
unsigned int XrdCmsMeter::TotalSpace ( unsigned int &  minfree)
bool XrdCmsMeter::Update ( char *  line,
bool  alert = false 
)
void XrdCmsMeter::UpdtSpace ( )
private

Member Data Documentation

XrdSysMutex XrdCmsMeter::cfsMutex
private

Referenced by setVirtUpdt().

uint32_t XrdCmsMeter::cpu_load
private
int XrdCmsMeter::dsk_calc
private
long long XrdCmsMeter::dsk_free
private
long long XrdCmsMeter::dsk_lpn
private
long long XrdCmsMeter::dsk_maxf
private
long long XrdCmsMeter::dsk_tot
private
int XrdCmsMeter::dsk_util
private
int XrdCmsMeter::fs_nums
private

Referenced by numFS().

long long XrdCmsMeter::HWMFree
private
long XrdCmsMeter::HWMShow
private
char XrdCmsMeter::HWMStype
private
int XrdCmsMeter::lastFree
private
int XrdCmsMeter::lastUtil
private
uint32_t XrdCmsMeter::mem_load
private
long long XrdCmsMeter::MinFree
private
long XrdCmsMeter::MinShow
private
char XrdCmsMeter::MinStype
private
int XrdCmsMeter::monint
private
XrdCmsPerfMon* XrdCmsMeter::monPerf
private
char* XrdCmsMeter::monpgm
private
pthread_t XrdCmsMeter::montid
private
int XrdCmsMeter::myLoad
private
XrdOucStream XrdCmsMeter::myMeter
private
uint32_t XrdCmsMeter::net_load
private
int XrdCmsMeter::noSpace
private
uint32_t XrdCmsMeter::pag_load
private
int XrdCmsMeter::prevLoad
private
time_t XrdCmsMeter::rep_tod
private
XrdSysMutex XrdCmsMeter::repMutex
private
int XrdCmsMeter::Running
private

Referenced by isOn().

char XrdCmsMeter::Virtual
private

Referenced by setVirtual().

char XrdCmsMeter::VirtUpdt
private

Referenced by setVirtUpdt().

uint32_t XrdCmsMeter::xeq_load
private

The documentation for this class was generated from the following file: