xrootd
XrdXrootdTrace.hh
Go to the documentation of this file.
1#ifndef _XROOTD_TRACE_H
2#define _XROOTD_TRACE_H
3/******************************************************************************/
4/* */
5/* X r d X r o o t d T r a c e . 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 Deprtment 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// Trace flags
33//
34#define TRACE_ALL 0x0fff
35#define TRACE_DEBUG 0x0001
36#define TRACE_EMSG 0x0002
37#define TRACE_FS 0x0004
38#define TRACE_LOGIN 0x0008
39#define TRACE_MEM 0x0010
40#define TRACE_REQ 0x0020
41#define TRACE_REDIR 0x0040
42#define TRACE_RSP 0x0080
43#define TRACE_SCHED 0x0100
44#define TRACE_STALL 0x0200
45
46#ifndef NODEBUG
47
49#include "XrdOuc/XrdOucTrace.hh"
50
51#define TRACE(act, x) \
52 if (XrdXrootdTrace->What & TRACE_ ## act) \
53 {XrdXrootdTrace->Beg(TraceID); cerr <<x; XrdXrootdTrace->End();}
54
55#define TRACEI(act, x) \
56 if (XrdXrootdTrace->What & TRACE_ ## act) \
57 {XrdXrootdTrace->Beg(TraceID,TRACELINK->ID); cerr <<x; XrdXrootdTrace->End();}
58
59#define TRACEP(act, x) \
60 if (XrdXrootdTrace->What & TRACE_ ## act) \
61 {XrdXrootdTrace->Beg(TraceID,TRACELINK->ID,Response.ID()); cerr <<x; \
62 XrdXrootdTrace->End();}
63
64#define TRACES(act, x) \
65 if (XrdXrootdTrace->What & TRACE_ ## act) \
66 {XrdXrootdTrace->Beg(TraceID,TRACELINK->ID,(const char *)trsid); cerr <<x; \
67 XrdXrootdTrace->End();}
68
69#define TRACING(x) XrdXrootdTrace->What & x
70
71#else
72
73#define TRACE(act,x)
74#define TRACEI(act,x)
75#define TRACEP(act,x)
76#define TRACES(act,x)
77#define TRACING(x) 0
78#endif
79
80#endif