12#ifndef ROOT_XrdProofdTrace
13#define ROOT_XrdProofdTrace
29#define TRACE_ALL 0xff7f
32#define TRACE_XERR 0x0001
33#define TRACE_REQ 0x0002
34#define TRACE_DBG 0x0004
35#define TRACE_LOGIN 0x0008
36#define TRACE_FORK 0x0010
37#define TRACE_MEM 0x0020
38#define TRACE_HDBG 0x0040
42#define TRACE_DOMAINS 0xFF00
43#define TRACE_RSP 0x0100
44#define TRACE_AUX 0x0200
45#define TRACE_CMGR 0x0400
46#define TRACE_SMGR 0x0800
47#define TRACE_NMGR 0x1000
48#define TRACE_PMGR 0x2000
49#define TRACE_GMGR 0x4000
50#define TRACE_SCHED 0x8000
55#include "XrdOuc/XrdOucTrace.hh"
62#if defined(__GNUC__) && (__GNUC__ >= 5) && !defined(__INTEL_COMPILER)
63#pragma GCC diagnostic ignored "-Wnonnull-compare"
70#define XPDDOM(d) unsigned int xpdtracingdomain = (unsigned int)(TRACE_ ## d & TRACE_ALL);
71#define XPDLOC(d,x) unsigned int xpdtracingdomain = (unsigned int)(TRACE_ ## d & TRACE_ALL); \
72 const char *xpdloc = x;
74#define TRACINGALL(x) (TRACE_ALL == TRACE_ ## x)
75#define TRACINGERR(x) (TRACE_XERR == TRACE_ ## x)
76#define TRACINGACT(x) (XrdProofdTrace && (XrdProofdTrace->What & TRACE_ ## x))
77#define TRACINGDOM (XrdProofdTrace && (XrdProofdTrace->What & xpdtracingdomain))
78#define TRACING(x) (TRACINGALL(x) || TRACINGERR(x) || (TRACINGACT(x) && TRACINGDOM))
80#define TRACESET(act,on) \
82 XrdProofdTrace->What |= TRACE_ ## act; \
84 XrdProofdTrace->What &= ~(TRACE_ ## act & TRACE_ALL); \
88 {XrdProofdTrace->Beg("-I"); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End();}
91 {XrdProofdTrace->Beg("-E"); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End();}
93#define TRACE(act, x) \
95 if (TRACINGERR(act)) { \
102#define TRACET(tid, act, x) \
103 if (TRACING(act)) { \
104 const char *typ = (TRACINGERR(act)) ? "-E" : "-I"; \
105 XrdProofdTrace->Beg(typ, 0, tid); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End(); \
108#define TRACEP(p, act, x) \
109 if (TRACING(act)) { \
110 const char *typ = (TRACINGERR(act)) ? "-E" : "-I"; \
112 XrdProofdTrace->Beg(typ, 0, p->TraceID()); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End(); \
115#define TRACEI(id, act, x) \
116 if (TRACING(act)) { \
117 if (TRACINGERR(act)) { \
119 XrdProofdTrace->Beg("-E", 0, id); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End(); \
120 } else { XPDERR(x); }\
123 XrdProofdTrace->Beg("-I", 0, id); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End(); \
124 } else { XPDPRT(x); }\
133#define TRACINGERR(x) (0)
134#define TRACESET(act,on)
139#define TRACEID(tid, act, x)
140#define TRACEP(p, act, x)
141#define TRACEI(id, act, x)
R__EXTERN XrdOucTrace * XrdProofdTrace