XRootD
XrdStats.hh
Go to the documentation of this file.
1
#ifndef __XRD_STATS_H__
2
#define __XRD_STATS_H__
3
/******************************************************************************/
4
/* */
5
/* X r d S t a t s . h h */
6
/* */
7
/* (c) 2004 by the Board of Trustees of the Leland Stanford, Jr., University */
8
/* Produced by Andrew Hanushevsky for Stanford University under contract */
9
/* DE-AC02-76-SFO0515 with the Department of Energy */
10
/* */
11
/* This file is part of the XRootD software suite. */
12
/* */
13
/* XRootD is free software: you can redistribute it and/or modify it under */
14
/* the terms of the GNU Lesser General Public License as published by the */
15
/* Free Software Foundation, either version 3 of the License, or (at your */
16
/* option) any later version. */
17
/* */
18
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
19
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
20
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
21
/* License for more details. */
22
/* */
23
/* You should have received a copy of the GNU Lesser General Public License */
24
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
25
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
26
/* */
27
/* The copyright holder's institutional names and contributor's names may not */
28
/* be used to endorse or promote products derived from this software without */
29
/* specific prior written permission of the institution or contributor. */
30
/******************************************************************************/
31
32
#include <cstdlib>
33
34
#include "
XrdSys/XrdSysPthread.hh
"
35
36
#define XRD_STATS_ALL 0x000000FF
37
#define XRD_STATS_INFO 0x00000001
38
#define XRD_STATS_BUFF 0x00000002
39
#define XRD_STATS_LINK 0x00000004
40
#define XRD_STATS_POLL 0x00000008
41
#define XRD_STATS_PROC 0x00000010
42
#define XRD_STATS_PROT 0x00000020
43
#define XRD_STATS_SCHD 0x00000040
44
#define XRD_STATS_SGEN 0x00000080
45
#define XRD_STATS_SYNC 0x40000000
46
#define XRD_STATS_SYNCA 0x20000000
47
48
class
XrdScheduler
;
49
class
XrdBuffManager
;
50
51
class
XrdStats
52
{
53
public
:
54
55
void
Report
(
char
**Dest=0,
int
iVal=600,
int
Opts
=0);
56
57
class
CallBack
58
{
public
:
virtual
void
Info
(
const
char
*data,
int
dlen) = 0;
59
CallBack
() {}
60
virtual
~CallBack
() {}
61
};
62
63
virtual
64
void
Stats
(CallBack *InfoBack,
int
opts
);
65
66
XrdStats
(
XrdSysError
*eP,
XrdScheduler
*sP,
XrdBuffManager
*bP,
67
const
char
*hn,
int
port,
const
char
*in,
const
char
*pn,
68
const
char
*sn);
69
70
virtual
~XrdStats
() {
if
(buff) free(buff);}
71
72
private
:
73
74
const
char
*GenStats(
int
&rsz,
int
opts
);
75
int
InfoStats(
char
*buff,
int
blen,
int
dosync=0);
76
int
ProcStats(
char
*buff,
int
blen,
int
dosync=0);
77
78
static
long
tBoot;
// Time at boot time
79
80
XrdScheduler
*XrdSched;
81
XrdSysError
*XrdLog;
82
XrdBuffManager
*BuffPool;
83
XrdSysMutex
statsMutex;
84
85
char
*buff;
// Used by all callers
86
int
blen;
87
int
Hlen;
88
char
*Head;
89
const
char
*myHost;
90
const
char
*myName;
91
int
myPort;
92
};
93
#endif
opts
struct myOpts opts
XrdSysPthread.hh
XrdBuffManager
Definition:
XrdBuffer.hh:72
XrdScheduler
Definition:
XrdScheduler.hh:46
XrdStats::CallBack
Definition:
XrdStats.hh:58
XrdStats::CallBack::~CallBack
virtual ~CallBack()
Definition:
XrdStats.hh:60
XrdStats::CallBack::CallBack
CallBack()
Definition:
XrdStats.hh:59
XrdStats::CallBack::Info
virtual void Info(const char *data, int dlen)=0
XrdStats
Definition:
XrdStats.hh:52
XrdStats::XrdStats
XrdStats(XrdSysError *eP, XrdScheduler *sP, XrdBuffManager *bP, const char *hn, int port, const char *in, const char *pn, const char *sn)
Definition:
XrdStats.cc:80
XrdStats::~XrdStats
virtual ~XrdStats()
Definition:
XrdStats.hh:70
XrdStats::Report
void Report(char **Dest=0, int iVal=600, int Opts=0)
Definition:
XrdStats.cc:108
XrdStats::Stats
virtual void Stats(CallBack *InfoBack, int opts)
Definition:
XrdStats.cc:150
XrdSysError
Definition:
XrdSysError.hh:90
XrdSysMutex
Definition:
XrdSysPthread.hh:165
XrdMpx::Opts
int Opts
Definition:
XrdMpxStats.cc:58
Xrd
XrdStats.hh
Generated by
1.9.1