83 static const char statfmt[] =
"<stats id=\"xrootd\"><num>%d</num>"
84 "<ops><open>%d</open><rf>%d</rf><rd>%lld</rd><pr>%lld</pr>"
85 "<rv>%lld</rv><rs>%lld</rs>"
86 "<wv>%lld</wv><ws>%lld</ws><wr>%lld</wr>"
87 "<sync>%d</sync><getf>%d</getf><putf>%d</putf><misc>%d</misc></ops>"
88 "<sig><ok>%d</ok><bad>%d</bad><ign>%d</ign></sig>"
89 "<aio><num>%lld</num><max>%d</max><rej>%lld</rej></aio>"
90 "<err>%d</err><rdr>%lld</rdr><dly>%d</dly>"
91 "<lgn><num>%d</num><af>%d</af><au>%d</au><ua>%d</ua></lgn></stats>";
93 static const long long LLMax = 0x7fffffffffffffffLL;
94 static const int INMax = 0x7fffffff;
101 len = snprintf(dummy,
sizeof(dummy), statfmt,
102 INMax, INMax, INMax, LLMax,
103 LLMax, LLMax, LLMax, LLMax, LLMax, LLMax, INMax, INMax,
106 LLMax, INMax, LLMax, INMax, LLMax, INMax,
107 INMax, INMax, INMax, INMax);
108 return len + (fsP ? fsP->
getStats(0,0) : 0);
114 len = snprintf(buff, blen, statfmt,
126 if (fsP) len += fsP->
getStats(buff+len, blen-len);
137 {
public:
void Info(
const char *buff,
int bsz)
138 {rc = respP->Send((
void *)buff, bsz+1);}
144 statsInfo statsResp(&resp);
162 if (!xopts)
return resp.
Send();
164 xstats->
Stats(&statsResp, xopts);
virtual int getStats(char *buff, int blen)=0
virtual void Stats(CallBack *InfoBack, int opts)
XrdXrootdStats(XrdStats *sp)
int Stats(char *buff, int blen, int do_sync=0)