#include <XrdXrootdMonitor.hh>
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 XrdXrootdMonitor * | Alloc (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 XrdXrootdMonitor * | altMon |
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 | |
XrdXrootdMonBuff * | monBuff |
int | nextEnt |
kXR_int32 | lastWindow |
Static Private Attributes | |
static XrdScheduler * | Sched |
static XrdSysError * | eDest |
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 |
Definition at line 39 of file XrdXrootdMonitor.hh.
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.
XrdXrootdMonitor::~XrdXrootdMonitor | ( | ) | [private] |
Definition at line 46 of file XrdXrootdMonitor.hh.
References Add_io().
Referenced by XrdXrootdProtocol::do_Read().
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().
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.
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.
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().
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] |
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.
friend class XrdXrootdMonitorDummy [friend] |
Definition at line 42 of file XrdXrootdMonitor.hh.
XrdXrootdMonitor * XrdXrootdMonitor::altMon [static] |
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] |
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] |
XrdSysError * XrdXrootdMonitor::eDest [static, private] |
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] |
char * XrdXrootdMonitor::Dest1 [static, private] |
int XrdXrootdMonitor::monMode1 [static, private] |
struct sockaddr XrdXrootdMonitor::InetAddr1 [static, private] |
char * XrdXrootdMonitor::Dest2 [static, private] |
int XrdXrootdMonitor::monMode2 [static, private] |
struct sockaddr XrdXrootdMonitor::InetAddr2 [static, private] |
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] |
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] |
kXR_int32 XrdXrootdMonitor::lastWindow [private] |
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] |