xrootd
|
#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 = 0 |
static char | monIO = 0 |
static char | monINFO = 0 |
static char | monFILE = 0 |
static char | monSTAGE = 0 |
static char | monUSER = 0 |
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 = 0 |
static XrdSysError * | eDest = 0 |
static XrdSysMutex | windowMutex |
static int | monFD |
static char * | Dest1 = 0 |
static int | monMode1 = 0 |
static struct sockaddr | InetAddr1 |
static char * | Dest2 = 0 |
static int | monMode2 = 0 |
static struct sockaddr | InetAddr2 |
static int | monBlen = 0 |
static int | lastEnt = 0 |
static int | autoFlush = 600 |
static int | FlushTime = 0 |
static kXR_int32 | startTime = 0 |
static kXR_int32 | currWindow = 0 |
static kXR_int32 | sizeWindow = 60 |
static int | isEnabled = 0 |
static int | numMonitor = 0 |
Friends | |
class | XrdXrootdMonitorDummy |
XrdXrootdMonitor::XrdXrootdMonitor | ( | ) |
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.
void XrdXrootdMonitor::Add_io | ( | kXR_unt32 | dictid, |
kXR_int32 | buflen, | ||
kXR_int64 | offset | ||
) | [inline, private] |
References Add_io().
Referenced by XrdXrootdProtocol::do_Read().
References Add_io().
Referenced by XrdXrootdProtocol::do_Write().
XrdXrootdMonitor * XrdXrootdMonitor::Alloc | ( | int | force = 0 | ) | [static] |
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::appID | ( | char * | id | ) |
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().
void XrdXrootdMonitor::Close | ( | kXR_unt32 | dictid, |
long long | rTot, | ||
long long | wTot | ||
) |
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::Defaults | ( | int | msz, |
int | wsz, | ||
int | flush | ||
) | [static] |
References autoFlush, lastEnt, monBlen, sizeWindow, and startTime.
void XrdXrootdMonitor::Defaults | ( | char * | dest1, |
int | m1, | ||
char * | dest2, | ||
int | m2 | ||
) | [static] |
References Dest1, Dest2, 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::Disc | ( | kXR_unt32 | dictid, |
int | csec | ||
) |
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().
unsigned char XrdXrootdMonitor::do_Shift | ( | long long | xTot, |
unsigned int & | xVal | ||
) | [private] |
Referenced by Close().
void XrdXrootdMonitor::Dup | ( | XrdXrootdMonTrace * | mrec | ) |
References currWindow, Flush(), XrdXrootdMonBuff::info, lastEnt, lastWindow, Mark(), monBuff, and nextEnt.
void XrdXrootdMonitor::fillHeader | ( | XrdXrootdMonHeader * | hdr, |
const char | id, | ||
int | size | ||
) | [static, private] |
void XrdXrootdMonitor::Flush | ( | ) | [private] |
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(), 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().
int XrdXrootdMonitor::Init | ( | XrdScheduler * | sp, |
XrdSysError * | errp | ||
) | [static] |
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] |
References XrdXrootdMonMap::dictid, fillHeader(), XrdXrootdMonMap::hdr, XrdXrootdMonMap::info, XrdSysMutex::Lock(), Send(), 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::Mark | ( | ) | [private] |
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().
void XrdXrootdMonitor::Open | ( | kXR_unt32 | dictid, |
off_t | fsize | ||
) |
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().
int XrdXrootdMonitor::Send | ( | int | mmode, |
void * | buff, | ||
int | size | ||
) | [static, private] |
void XrdXrootdMonitor::startClock | ( | ) | [static, private] |
References autoFlush, currWindow, FlushTime, Sched, XrdScheduler::Schedule(), XrdXrootdMonitor_Tick::Set(), and sizeWindow.
time_t XrdXrootdMonitor::Tick | ( | ) | [static] |
References altMon, autoFlush, currWindow, Flush(), FlushTime, isEnabled, XrdXrootdMonitorLock::Lock(), XrdSysMutex::Lock(), nextEnt, numMonitor, XrdXrootdMonitorLock::UnLock(), XrdSysMutex::UnLock(), and windowMutex.
Referenced by XrdXrootdMonitor_Tick::DoIt().
void XrdXrootdMonitor::unAlloc | ( | XrdXrootdMonitor * | monp | ) | [static] |
References altMon, isEnabled, XrdSysMutex::Lock(), numMonitor, XrdSysMutex::UnLock(), and windowMutex.
Referenced by XrdXrootdProtocol::Cleanup(), and XrdXrootdProtocol::do_Set_Mon().
friend class XrdXrootdMonitorDummy [friend] |
XrdXrootdMonitor * XrdXrootdMonitor::altMon = 0 [static, read] |
int XrdXrootdMonitor::autoFlush = 600 [static, private] |
Referenced by Defaults(), Flush(), startClock(), and Tick().
kXR_int32 XrdXrootdMonitor::currWindow = 0 [static, private] |
char * XrdXrootdMonitor::Dest1 = 0 [static, private] |
Referenced by Defaults(), Init(), and Send().
char * XrdXrootdMonitor::Dest2 = 0 [static, read, private] |
Referenced by Defaults(), Init(), and Send().
XrdSysError * XrdXrootdMonitor::eDest = 0 [static, private] |
Referenced by Init(), and XrdXrootdMonitor().
int XrdXrootdMonitor::FlushTime = 0 [static, private] |
Referenced by Flush(), startClock(), and Tick().
struct sockaddr XrdXrootdMonitor::InetAddr1 [static, private] |
struct sockaddr XrdXrootdMonitor::InetAddr2 [static, private] |
int XrdXrootdMonitor::isEnabled = 0 [static, private] |
Referenced by Alloc(), Defaults(), Init(), Tick(), and unAlloc().
int XrdXrootdMonitor::lastEnt = 0 [static, private] |
kXR_int32 XrdXrootdMonitor::lastWindow [private] |
int XrdXrootdMonitor::monBlen = 0 [static, private] |
Referenced by Defaults(), and XrdXrootdMonitor().
XrdXrootdMonBuff* XrdXrootdMonitor::monBuff [private] |
int XrdXrootdMonitor::monFD [static, private] |
char XrdXrootdMonitor::monFILE = 0 [static] |
Referenced by Defaults().
char XrdXrootdMonitor::monINFO = 0 [static] |
Referenced by Defaults(), and XrdXrootdProtocol::do_Set_Mon().
char XrdXrootdMonitor::monIO = 0 [static] |
Referenced by Alloc(), Defaults(), and XrdXrootdProtocol::do_Set_Mon().
int XrdXrootdMonitor::monMode1 = 0 [static, private] |
Referenced by Defaults(), Init(), and Send().
int XrdXrootdMonitor::monMode2 = 0 [static, private] |
Referenced by Defaults(), Init(), and Send().
char XrdXrootdMonitor::monSTAGE = 0 [static] |
Referenced by Defaults().
char XrdXrootdMonitor::monUSER = 0 [static] |
Referenced by Defaults(), Disc(), XrdXrootdProtocol::do_Login(), XrdXrootdProtocol::do_Set_Mon(), and XrdXrootdProtocol::Recycle().
int XrdXrootdMonitor::nextEnt [private] |
int XrdXrootdMonitor::numMonitor = 0 [static, private] |
XrdScheduler * XrdXrootdMonitor::Sched = 0 [static, private] |
Referenced by Init(), and startClock().
kXR_int32 XrdXrootdMonitor::sizeWindow = 60 [static, private] |
Referenced by Defaults(), Flush(), and startClock().
kXR_int32 XrdXrootdMonitor::startTime = 0 [static, private] |
Referenced by Defaults(), and fillHeader().
XrdSysMutex XrdXrootdMonitor::windowMutex [static, private] |