XrdXrootdMonitor Class Reference

#include <XrdXrootdMonitor.hh>

List of all members.

Public Member Functions

void Add_rd (kXR_unt32 dictid, kXR_int32 rlen, kXR_int64 offset)
void Add_wr (kXR_unt32 dictid, kXR_int32 wlen, kXR_int64 offset)
void appID (char *id)
void Close (kXR_unt32 dictid, long long rTot, long long wTot)
void Disc (kXR_unt32 dictid, int csec)
void Dup (XrdXrootdMonTrace *mrec)
void Open (kXR_unt32 dictid, off_t fsize)
 XrdXrootdMonitor ()

Static Public Member Functions

static XrdXrootdMonitorAlloc (int force=0)
static void Defaults (char *dest1, int m1, char *dest2, int m2)
static void Defaults (int msz, int wsz, int flush)
static int Init (XrdScheduler *sp, XrdSysError *errp)
static kXR_unt32 Map (const char code, const char *uname, const char *path)
static time_t Tick ()
static void unAlloc (XrdXrootdMonitor *monp)

Static Public Attributes

static XrdXrootdMonitoraltMon
static char monIO
static char monINFO
static char monFILE
static char monSTAGE
static char monUSER

Private Member Functions

 ~XrdXrootdMonitor ()
void Add_io (kXR_unt32 dictid, kXR_int32 buflen, kXR_int64 offset)
unsigned char do_Shift (long long xTot, unsigned int &xVal)
void Flush ()
void Mark ()

Static Private Member Functions

static void fillHeader (XrdXrootdMonHeader *hdr, const char id, int size)
static int Send (int mmode, void *buff, int size)
static void startClock ()

Private Attributes

XrdXrootdMonBuffmonBuff
int nextEnt
kXR_int32 lastWindow

Static Private Attributes

static XrdSchedulerSched
static XrdSysErroreDest
static XrdSysMutex windowMutex
static int monFD
static char * Dest1
static int monMode1
static struct sockaddr InetAddr1
static char * Dest2
static int monMode2
static struct sockaddr InetAddr2
static int monBlen
static int lastEnt
static int autoFlush
static int FlushTime
static kXR_int32 startTime
static kXR_int32 currWindow
static kXR_int32 sizeWindow
static int isEnabled
static int numMonitor

Friends

class XrdXrootdMonitorDummy


Detailed Description

Definition at line 39 of file XrdXrootdMonitor.hh.


Constructor & Destructor Documentation

XrdXrootdMonitor::XrdXrootdMonitor (  ) 

Definition at line 133 of file XrdXrootdMonitor.cc.

References XrdXrootdMonTrace::arg0, XrdXrootdMonTrace::arg1, XrdXrootdMonTrace::arg2, currWindow, eDest, XrdSysError::Emsg(), XrdXrootdMonTrace::id, XrdXrootdMonBuff::info, XrdSysMutex::Lock(), memalign, monBlen, monBuff, nextEnt, XrdXrootdMonTrace::rTot, XrdSysMutex::UnLock(), XrdXrootdMonTrace::Window, windowMutex, and XROOTD_MON_WINDOW.

Referenced by Alloc(), and Init().

XrdXrootdMonitor::~XrdXrootdMonitor (  )  [private]

Definition at line 160 of file XrdXrootdMonitor.cc.

References Flush(), free(), and monBuff.


Member Function Documentation

void XrdXrootdMonitor::Add_rd ( kXR_unt32  dictid,
kXR_int32  rlen,
kXR_int64  offset 
) [inline]

Definition at line 46 of file XrdXrootdMonitor.hh.

References Add_io().

Referenced by XrdXrootdProtocol::do_Read().

void XrdXrootdMonitor::Add_wr ( kXR_unt32  dictid,
kXR_int32  wlen,
kXR_int64  offset 
) [inline]

Definition at line 51 of file XrdXrootdMonitor.hh.

References Add_io().

Referenced by XrdXrootdProtocol::do_Write().

void XrdXrootdMonitor::appID ( char *  id  ) 

Definition at line 170 of file XrdXrootdMonitor.cc.

References altMon, XrdXrootdMonTrace::arg0, currWindow, Flush(), XrdXrootdMonTrace::id, XrdXrootdMonBuff::info, lastEnt, lastWindow, Mark(), monBuff, nextEnt, and XROOTD_MON_APPID.

Referenced by XrdXrootdProtocol::do_Set_Mon().

XrdXrootdMonitor * XrdXrootdMonitor::Alloc ( int  force = 0  )  [static]

Definition at line 190 of file XrdXrootdMonitor.cc.

References altMon, isEnabled, XrdSysMutex::Lock(), monBuff, monIO, numMonitor, startClock(), XrdSysMutex::UnLock(), windowMutex, and XrdXrootdMonitor().

Referenced by XrdXrootdProtocol::do_Login(), and XrdXrootdProtocol::do_Set_Mon().

void XrdXrootdMonitor::Close ( kXR_unt32  dictid,
long long  rTot,
long long  wTot 
)

Definition at line 221 of file XrdXrootdMonitor.cc.

References altMon, XrdXrootdMonTrace::arg0, XrdXrootdMonTrace::arg1, XrdXrootdMonTrace::arg2, currWindow, XrdXrootdMonTrace::dictid, do_Shift(), Dup(), Flush(), XrdXrootdMonTrace::id, XrdXrootdMonBuff::info, lastEnt, lastWindow, Mark(), monBuff, nextEnt, XrdXrootdMonTrace::rTot, XrdXrootdMonTrace::wTot, and XROOTD_MON_CLOSE.

Referenced by XrdXrootdProtocol::do_Close().

void XrdXrootdMonitor::Disc ( kXR_unt32  dictid,
int  csec 
)

Definition at line 247 of file XrdXrootdMonitor.cc.

References altMon, XrdXrootdMonTrace::arg0, XrdXrootdMonTrace::arg1, XrdXrootdMonTrace::arg2, currWindow, XrdXrootdMonTrace::dictid, Disc(), Dup(), Flush(), XrdXrootdMonTrace::id, XrdXrootdMonBuff::info, lastEnt, lastWindow, Mark(), monBuff, monUSER, nextEnt, XrdXrootdMonTrace::rTot, XrdXrootdMonTrace::wTot, and XROOTD_MON_DISC.

Referenced by Disc(), and XrdXrootdProtocol::Recycle().

void XrdXrootdMonitor::Defaults ( char *  dest1,
int  m1,
char *  dest2,
int  m2 
) [static]

Definition at line 275 of file XrdXrootdMonitor.cc.

References Dest1, Dest2, free(), isEnabled, monFILE, monINFO, monIO, monMode1, monMode2, monSTAGE, monUSER, XROOTD_MON_ALL, XROOTD_MON_FILE, XROOTD_MON_INFO, XROOTD_MON_IO, XROOTD_MON_STAGE, and XROOTD_MON_USER.

Referenced by XrdXrootdProtocol::xmon().

void XrdXrootdMonitor::Defaults ( int  msz,
int  wsz,
int  flush 
) [static]

Definition at line 320 of file XrdXrootdMonitor.cc.

References autoFlush, lastEnt, monBlen, sizeWindow, and startTime.

void XrdXrootdMonitor::Dup ( XrdXrootdMonTrace mrec  ) 

Definition at line 342 of file XrdXrootdMonitor.cc.

References currWindow, Flush(), XrdXrootdMonBuff::info, lastEnt, lastWindow, Mark(), monBuff, and nextEnt.

Referenced by Close(), Disc(), and Open().

int XrdXrootdMonitor::Init ( XrdScheduler sp,
XrdSysError errp 
) [static]

Definition at line 358 of file XrdXrootdMonitor.cc.

References altMon, Dest1, Dest2, eDest, XrdSysError::Emsg(), XrdNetPeer::fd, XrdNetDNS::Host2Dest(), InetAddr1, InetAddr2, isEnabled, monBuff, monFD, monMode1, monMode2, XrdNet::Relay(), Sched, startClock(), XRDNET_SENDONLY, XrdXrootdMonitor(), and XROOTD_MON_IO.

Referenced by XrdXrootdProtocol::Configure().

kXR_unt32 XrdXrootdMonitor::Map ( const char  code,
const char *  uname,
const char *  path 
) [static]

Definition at line 416 of file XrdXrootdMonitor.cc.

References XrdXrootdMonMap::dictid, fillHeader(), XrdXrootdMonMap::hdr, XrdXrootdMonMap::info, XrdSysMutex::Lock(), Send(), size, strcpy(), strlcpy(), XrdSysMutex::UnLock(), XROOTD_MON_INFO, XROOTD_MON_MAPPATH, XROOTD_MON_MAPSTAG, XROOTD_MON_MAPUSER, XROOTD_MON_PATH, XROOTD_MON_STAGE, and XROOTD_MON_USER.

Referenced by XrdXrootdProtocol::do_Login(), XrdXrootdProtocol::do_Open(), and XrdXrootdProtocol::do_Set_Mon().

void XrdXrootdMonitor::Open ( kXR_unt32  dictid,
off_t  fsize 
)

Definition at line 465 of file XrdXrootdMonitor.cc.

References altMon, XrdXrootdMonTrace::arg0, XrdXrootdMonTrace::arg1, XrdXrootdMonTrace::arg2, XrdXrootdMonTrace::buflen, currWindow, XrdXrootdMonTrace::dictid, Dup(), Flush(), XrdXrootdMonTrace::id, XrdXrootdMonBuff::info, lastEnt, lastWindow, Mark(), monBuff, nextEnt, XrdXrootdMonTrace::val, and XROOTD_MON_OPEN.

Referenced by XrdXrootdProtocol::do_Open().

time_t XrdXrootdMonitor::Tick (  )  [static]

Definition at line 485 of file XrdXrootdMonitor.cc.

References altMon, autoFlush, currWindow, Flush(), FlushTime, isEnabled, XrdSysMutex::Lock(), XrdXrootdMonitorLock::Lock(), nextEnt, numMonitor, XrdSysMutex::UnLock(), XrdXrootdMonitorLock::UnLock(), and windowMutex.

Referenced by XrdXrootdMonitor_Tick::DoIt().

void XrdXrootdMonitor::unAlloc ( XrdXrootdMonitor monp  )  [static]

Definition at line 514 of file XrdXrootdMonitor.cc.

References altMon, isEnabled, XrdSysMutex::Lock(), numMonitor, XrdSysMutex::UnLock(), and windowMutex.

Referenced by XrdXrootdProtocol::Cleanup(), and XrdXrootdProtocol::do_Set_Mon().

void XrdXrootdMonitor::Add_io ( kXR_unt32  dictid,
kXR_int32  buflen,
kXR_int64  offset 
) [inline, private]

Definition at line 135 of file XrdXrootdMonitor.hh.

References XrdXrootdMonTrace::arg0, XrdXrootdMonTrace::arg1, XrdXrootdMonTrace::arg2, XrdXrootdMonTrace::buflen, currWindow, XrdXrootdMonTrace::dictid, Flush(), XrdXrootdMonBuff::info, lastEnt, lastWindow, Mark(), monBuff, nextEnt, and XrdXrootdMonTrace::val.

Referenced by Add_rd(), and Add_wr().

unsigned char XrdXrootdMonitor::do_Shift ( long long  xTot,
unsigned int &  xVal 
) [private]

Definition at line 537 of file XrdXrootdMonitor.cc.

Referenced by Close().

void XrdXrootdMonitor::fillHeader ( XrdXrootdMonHeader hdr,
const char  id,
int  size 
) [static, private]

Definition at line 552 of file XrdXrootdMonitor.cc.

References XrdXrootdMonHeader::code, XrdSysMutex::Lock(), XrdXrootdMonHeader::plen, XrdXrootdMonHeader::pseq, startTime, XrdXrootdMonHeader::stod, and XrdSysMutex::UnLock().

Referenced by Flush(), and Map().

void XrdXrootdMonitor::Flush (  )  [private]

Definition at line 576 of file XrdXrootdMonitor.cc.

References altMon, XrdXrootdMonTrace::arg0, XrdXrootdMonTrace::arg1, XrdXrootdMonTrace::arg2, autoFlush, currWindow, fillHeader(), FlushTime, XrdXrootdMonBuff::hdr, XrdXrootdMonTrace::id, XrdXrootdMonBuff::info, XrdSysMutex::Lock(), monBuff, nextEnt, XrdXrootdMonTrace::rTot, Send(), size, sizeWindow, XrdSysMutex::UnLock(), XrdXrootdMonTrace::Window, windowMutex, XROOTD_MON_FILE, XROOTD_MON_IO, XROOTD_MON_MAPTRCE, and XROOTD_MON_WINDOW.

Referenced by Add_io(), appID(), Close(), Disc(), Dup(), Mark(), Open(), Tick(), and ~XrdXrootdMonitor().

void XrdXrootdMonitor::Mark (  )  [private]

Definition at line 625 of file XrdXrootdMonitor.cc.

References XrdXrootdMonTrace::arg0, XrdXrootdMonTrace::arg1, XrdXrootdMonTrace::arg2, currWindow, Flush(), XrdXrootdMonTrace::id, XrdXrootdMonBuff::info, lastEnt, lastWindow, XrdSysMutex::Lock(), monBuff, nextEnt, XrdXrootdMonTrace::rTot, XrdSysMutex::UnLock(), XrdXrootdMonTrace::Window, windowMutex, and XROOTD_MON_WINDOW.

Referenced by Add_io(), appID(), Close(), Disc(), Dup(), and Open().

int XrdXrootdMonitor::Send ( int  mmode,
void *  buff,
int  size 
) [static, private]

Definition at line 657 of file XrdXrootdMonitor.cc.

References DEBUG, Dest1, Dest2, InetAddr1, InetAddr2, int, XrdSysMutex::Lock(), monFD, monMode1, monMode2, TRACE, and XrdSysMutex::UnLock().

Referenced by Flush(), and Map().

void XrdXrootdMonitor::startClock (  )  [static, private]

Definition at line 687 of file XrdXrootdMonitor.cc.

References autoFlush, currWindow, FlushTime, Sched, XrdScheduler::Schedule(), XrdXrootdMonitor_Tick::Set(), and sizeWindow.

Referenced by Alloc(), and Init().


Friends And Related Function Documentation

friend class XrdXrootdMonitorDummy [friend]

Definition at line 42 of file XrdXrootdMonitor.hh.


Member Data Documentation

XrdXrootdMonitor * XrdXrootdMonitor::altMon [static]

Definition at line 82 of file XrdXrootdMonitor.hh.

Referenced by Alloc(), appID(), Close(), Disc(), Flush(), Init(), Open(), Tick(), unAlloc(), and XrdXrootdMonitorLock::XrdXrootdMonitorLock().

char XrdXrootdMonitor::monIO [static]

Definition at line 83 of file XrdXrootdMonitor.hh.

Referenced by Alloc(), Defaults(), XrdXrootdProtocol::do_Login(), and XrdXrootdProtocol::do_Set_Mon().

char XrdXrootdMonitor::monINFO [static]

Definition at line 84 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), and XrdXrootdProtocol::do_Set_Mon().

char XrdXrootdMonitor::monFILE [static]

Definition at line 85 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), XrdXrootdProtocol::do_Login(), and XrdXrootdProtocol::do_Set_Mon().

char XrdXrootdMonitor::monSTAGE [static]

Definition at line 86 of file XrdXrootdMonitor.hh.

Referenced by Defaults().

char XrdXrootdMonitor::monUSER [static]

Definition at line 87 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), Disc(), XrdXrootdProtocol::do_Login(), XrdXrootdProtocol::do_Set_Mon(), and XrdXrootdProtocol::Recycle().

XrdScheduler * XrdXrootdMonitor::Sched [static, private]

Definition at line 104 of file XrdXrootdMonitor.hh.

Referenced by Init(), and startClock().

XrdSysError * XrdXrootdMonitor::eDest [static, private]

Definition at line 105 of file XrdXrootdMonitor.hh.

Referenced by Init(), and XrdXrootdMonitor().

XrdSysMutex XrdXrootdMonitor::windowMutex [static, private]

Definition at line 106 of file XrdXrootdMonitor.hh.

Referenced by Alloc(), Flush(), Mark(), Tick(), unAlloc(), and XrdXrootdMonitor().

int XrdXrootdMonitor::monFD [static, private]

Definition at line 107 of file XrdXrootdMonitor.hh.

Referenced by Init(), and Send().

char * XrdXrootdMonitor::Dest1 [static, private]

Definition at line 108 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), Init(), and Send().

int XrdXrootdMonitor::monMode1 [static, private]

Definition at line 109 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), Init(), and Send().

struct sockaddr XrdXrootdMonitor::InetAddr1 [static, private]

Definition at line 110 of file XrdXrootdMonitor.hh.

Referenced by Init(), and Send().

char * XrdXrootdMonitor::Dest2 [static, private]

Definition at line 111 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), Init(), and Send().

int XrdXrootdMonitor::monMode2 [static, private]

Definition at line 112 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), Init(), and Send().

struct sockaddr XrdXrootdMonitor::InetAddr2 [static, private]

Definition at line 113 of file XrdXrootdMonitor.hh.

Referenced by Init(), and Send().

XrdXrootdMonBuff* XrdXrootdMonitor::monBuff [private]

Definition at line 114 of file XrdXrootdMonitor.hh.

Referenced by Add_io(), Alloc(), appID(), Close(), Disc(), Dup(), Flush(), Init(), Mark(), Open(), XrdXrootdMonitor(), and ~XrdXrootdMonitor().

int XrdXrootdMonitor::monBlen [static, private]

Definition at line 115 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), and XrdXrootdMonitor().

int XrdXrootdMonitor::nextEnt [private]

Definition at line 116 of file XrdXrootdMonitor.hh.

Referenced by Add_io(), appID(), Close(), Disc(), Dup(), Flush(), Mark(), Open(), Tick(), and XrdXrootdMonitor().

int XrdXrootdMonitor::lastEnt [static, private]

Definition at line 117 of file XrdXrootdMonitor.hh.

Referenced by Add_io(), appID(), Close(), Defaults(), Disc(), Dup(), Mark(), and Open().

int XrdXrootdMonitor::autoFlush [static, private]

Definition at line 118 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), Flush(), startClock(), and Tick().

int XrdXrootdMonitor::FlushTime [static, private]

Definition at line 119 of file XrdXrootdMonitor.hh.

Referenced by Flush(), startClock(), and Tick().

kXR_int32 XrdXrootdMonitor::startTime [static, private]

Definition at line 120 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), and fillHeader().

kXR_int32 XrdXrootdMonitor::lastWindow [private]

Definition at line 121 of file XrdXrootdMonitor.hh.

Referenced by Add_io(), appID(), Close(), Disc(), Dup(), Mark(), and Open().

kXR_int32 XrdXrootdMonitor::currWindow [static, private]

Definition at line 122 of file XrdXrootdMonitor.hh.

Referenced by Add_io(), appID(), Close(), Disc(), Dup(), Flush(), Mark(), Open(), startClock(), Tick(), and XrdXrootdMonitor().

kXR_int32 XrdXrootdMonitor::sizeWindow [static, private]

Definition at line 123 of file XrdXrootdMonitor.hh.

Referenced by Defaults(), Flush(), and startClock().

int XrdXrootdMonitor::isEnabled [static, private]

Definition at line 124 of file XrdXrootdMonitor.hh.

Referenced by Alloc(), Defaults(), Init(), Tick(), and unAlloc().

int XrdXrootdMonitor::numMonitor [static, private]

Definition at line 125 of file XrdXrootdMonitor.hh.

Referenced by Alloc(), Tick(), and unAlloc().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:48 2011 for ROOT_528-00b_version by  doxygen 1.5.1