54 static void*
Start(
void*);
60 static std::array<std::array<HttpInfo, StatusCodes::sc_Count>, XrdHttpReq::ReqType::rtCount> statsInfo;
64 static std::vector<XrdMonRoll::Item> statsSchema;
69 static std::chrono::seconds flushPeriod;
72 static bool hasGStream;
73 static bool hasMonRoll;
74 static bool isInitialized;
84 if (hasGStream) RecordCount(op, sc);
87 if (hasGStream) RecordSuccess(op, sc, duration);
90 if (hasGStream) RecordErrNet(op, sc, duration);
93 if (hasGStream) RecordErrProt(op, sc, duration);
96 if (hasMonRoll) verbCounters[op]++;
99 static inline void RecordMonRollStatus(
StatusCodes sc) {
100 if (hasMonRoll) statusCounters[sc]++;
105 static std::string GetMonitoringJson();
108 static std::string GetStatusCodeString(
StatusCodes sc);
109 static void Report();
Main request/response class, handling the logical status of the communication.
static void Record(XrdHttpReq &req, int code)
static void Initialize(XrdSysLogger *logP, XrdXrootdGStream *gStream, XrdMonRoll *mrollP)
RAtomic_uint64_t duration_us
static bool IsInitialized()
static void * Start(void *)
RAtomic_uint64_t error_network
RAtomic_uint64_t error_xrootd
ReqType
These are the HTTP/DAV requests that we support.