Logo ROOT   6.12/07
Reference Guide
XrdProofdTrace.h
Go to the documentation of this file.
1 // @(#)root/proofd:$Id$
2 // Author: G. Ganis June 2005
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_XrdProofdTrace
13 #define ROOT_XrdProofdTrace
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // XrdProofdTrace //
18 // //
19 // Authors: G. Ganis, CERN, 2005 //
20 // //
21 // Trace utils for xproofd. //
22 // //
23 //////////////////////////////////////////////////////////////////////////
24 
25 //
26 // Trace flags
27 //
28 // Global mask
29 #define TRACE_ALL 0xff7f
30 
31 // Levels
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
39 // Bit 0x0080 reserved for future usage
40 
41 // Domains
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
51 
52 #ifndef NODEBUG
53 
54 #include "DllImport.h"
55 #include "XrdOuc/XrdOucTrace.hh"
56 
58 
59 #if 0
60 // silence warning from gcc6
61 // include/XrdProofdTrace.h:106:10: warning: nonnull argument "this" compared to NULL [-Wnonnull-compare]
62 #if defined(__GNUC__) && (__GNUC__ >= 5) && !defined(__INTEL_COMPILER)
63 #pragma GCC diagnostic ignored "-Wnonnull-compare"
64 #endif
65 #endif
66 
67 //
68 // Auxilliary macros
69 //
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;
73 
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))
79 
80 #define TRACESET(act,on) \
81  if (on) { \
82  XrdProofdTrace->What |= TRACE_ ## act; \
83  } else { \
84  XrdProofdTrace->What &= ~(TRACE_ ## act & TRACE_ALL); \
85  }
86 
87 #define XPDPRT(x) \
88  {XrdProofdTrace->Beg("-I"); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End();}
89 
90 #define XPDERR(x) \
91  {XrdProofdTrace->Beg("-E"); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End();}
92 
93 #define TRACE(act, x) \
94  if (TRACING(act)) { \
95  if (TRACINGERR(act)) { \
96  XPDERR(x); \
97  } else { \
98  XPDPRT(x); \
99  } \
100  }
101 
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(); \
106  }
107 
108 #define TRACEP(p, act, x) \
109  if (TRACING(act)) { \
110  const char *typ = (TRACINGERR(act)) ? "-E" : "-I"; \
111  if (p) {\
112  XrdProofdTrace->Beg(typ, 0, p->TraceID()); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End(); \
113  } else {XPDERR(x);}\
114  }
115 #define TRACEI(id, act, x) \
116  if (TRACING(act)) { \
117  if (TRACINGERR(act)) { \
118  if (id) {\
119  XrdProofdTrace->Beg("-E", 0, id); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End(); \
120  } else { XPDERR(x); }\
121  } else { \
122  if (id) {\
123  XrdProofdTrace->Beg("-I", 0, id); std::cerr << xpdloc <<": "<< x; XrdProofdTrace->End(); \
124  } else { XPDPRT(x); }\
125  } \
126  }
127 
128 #else
129 
130 // Dummy versions
131 
132 #define TRACING(x) 0
133 #define TRACINGERR(x) (0)
134 #define TRACESET(act,on)
135 #define XPDLOC(x)
136 #define XPDPRT(x)
137 #define XPDERR(x)
138 #define TRACE(act, x)
139 #define TRACEID(tid, act, x)
140 #define TRACEP(p, act, x)
141 #define TRACEI(id, act, x)
142 
143 #endif
144 
145 #endif
R__EXTERN XrdOucTrace * XrdProofdTrace
#define R__EXTERN
Definition: DllImport.h:27