28a080 | 2000-08-14 | Martin Stjernholm | |
|
f2180f | 2002-03-12 | Martin Stjernholm | |
#ifndef REQUEST_TRACE_H
#define REQUEST_TRACE_H
#include <roxen.h>
#include <module.h>
|
28a080 | 2000-08-14 | Martin Stjernholm | |
#ifdef REQUEST_TRACE
# define TRACE_ENTER(A,B) Roxen->trace_enter (id, (A), (B))
# define TRACE_LEAVE(A) Roxen->trace_leave (id, (A))
#else
|
fa4f79 | 2000-03-13 | Martin Nilsson | | # define TRACE_ENTER(A,B) do{ \
|
4b0968 | 2001-11-01 | Henrik Grubbström (Grubba) | | function(string,mixed ...:void) _trace_enter; \
|
3ef3d1 | 2001-11-01 | Henrik Grubbström (Grubba) | | if(id && \
(_trace_enter = \
[function(string,mixed ...:void)]([mapping(string:mixed)]id->misc)-> \
trace_enter)) \
_trace_enter((A), (B)); \
|
fa4f79 | 2000-03-13 | Martin Nilsson | | }while(0)
# define TRACE_LEAVE(A) do{ \
|
4b0968 | 2001-11-01 | Henrik Grubbström (Grubba) | | function(string:void) _trace_leave; \
|
3ef3d1 | 2001-11-01 | Henrik Grubbström (Grubba) | | if(id && \
(_trace_leave = \
[function(string:void)]([mapping(string:mixed)]id->misc)-> \
trace_leave)) \
_trace_leave(A); \
|
fa4f79 | 2000-03-13 | Martin Nilsson | | }while(0)
|
28a080 | 2000-08-14 | Martin Stjernholm | |
|
fa4f79 | 2000-03-13 | Martin Nilsson | | #endif
|
471705 | 2001-05-07 | Per Hedbor | |
|
f2180f | 2002-03-12 | Martin Stjernholm | |
#define TAG_TRACE_ENTER(MSG...) do { \
array _msg_arr_; \
string _msg_; \
TRACE_ENTER ("tag <" + (tag && tag->name) + "> " + \
(_msg_arr_ = ({MSG}), \
_msg_ = sizeof (_msg_arr_) > 1 ? \
sprintf (@_msg_arr_) : _msg_arr_[0]), \
tag); \
DO_IF_DEBUG ( \
if (TAG_DEBUG_TEST (flags & RXML.FLAG_DEBUG)) \
tag_debug ("%O: %s\n", this_object(), \
_msg_ || (_msg_arr_ = ({MSG}), \
sizeof (_msg_arr_) > 1 ? \
sprintf (@_msg_arr_) : _msg_arr_[0])); \
); \
} while (0)
#define TAG_TRACE_LEAVE(MSG...) do { \
array _msg_arr_; \
string _msg_; \
TRACE_LEAVE ((_msg_arr_ = ({MSG}), \
_msg_ = sizeof (_msg_arr_) > 1 ? \
sprintf (@_msg_arr_) : _msg_arr_[0])); \
DO_IF_DEBUG ( \
if (TAG_DEBUG_TEST (flags & RXML.FLAG_DEBUG)) { \
if (!_msg_) { \
_msg_arr_ = ({MSG}); \
_msg_ = sizeof (_msg_arr_) > 1 ? sprintf (@_msg_arr_) : _msg_arr_[0]; \
} \
if (sizeof (_msg_)) tag_debug ("%O: %s\n", this_object(), _msg_); \
} \
); \
} while (0)
|
471705 | 2001-05-07 | Per Hedbor | |
#ifdef AVERAGE_PROFILING
#define PROF_ENTER(X,Y) id->conf->avg_prof_enter( X, Y, id )
#define PROF_LEAVE(X,Y) id->conf->avg_prof_leave( X, Y, id )
#define COND_PROF_ENTER(X,Y,Z) if(X)PROF_ENTER(Y,Z)
#define COND_PROF_LEAVE(X,Y,Z) if(X)PROF_LEAVE(Y,Z)
#else
#define PROF_ENTER(X,Y)
#define PROF_LEAVE(X,Y)
#define COND_PROF_ENTER(X,Y,Z)
#define COND_PROF_LEAVE(X,Y,Z)
#endif
|
f2180f | 2002-03-12 | Martin Stjernholm | |
#endif // !REQUEST_TRACE_H
|