Roxen.git
/
server
/
etc
/
include
/
request_trace.h
version
»
Context lines:
10
20
40
80
file
none
3
Roxen.git/server/etc/include/request_trace.h:1:
// -*- pike -*- // // Some stuff to do logging of a request through the server. //
-
// $Id: request_trace.h,v 1.
18
2008
/
11
/
06
00
:
43
:
12
mast
Exp $
+
// $Id: request_trace.h,v 1.
19
2009
/
04
/
21
14
:
48
:
48
jonasw
Exp $
#ifndef REQUEST_TRACE_H #define REQUEST_TRACE_H #include <roxen.h> #include <module.h> // Note that TRACE_ENTER (and TRACE_LEAVE) takes message strings // in plain text. Messages are preferably a single line, and they // should not end with period and/or newline.
Roxen.git/server/etc/include/request_trace.h:45:
int _ts_ = HRTIME(); \ if (object _id_ = (ID)) { \ Roxen->trace_leave ((ID), (MSG), _ts_); \ _id_->misc->trace_overhead += HRTIME() - _ts_; \ } \ }while(0) #else # define ID_TRACE_ENTER(ID, MSG, OBJ) do{ \
-
int _ts_ = HRTIME(); \
+
if (object _id_ = (ID)) { \ mapping _id_misc_ = _id_->misc; \ if (function(string,mixed,int:void) _trace_enter = \ ([function(string,mixed,int:void)] _id_misc_->trace_enter)) \
-
_trace_enter ((MSG), (OBJ),
_ts_
);
\
-
_id_misc_->trace_overhead += HRTIME() - _ts_; \
+
_trace_enter ((MSG), (OBJ),
HRTIME(
)
)
; \
} \ }while(0) # define ID_TRACE_LEAVE(ID, MSG) do{ \
-
int _ts_ = HRTIME(); \
+
if (object _id_ = (ID)) { \ mapping _id_misc_ = _id_->misc; \ if (function(string,int:void) _trace_leave = \ ([function(string,int:void)] _id_misc_->trace_leave)) \
-
_trace_leave ((MSG),
_ts_
);
\
-
_id_misc_->trace_overhead += HRTIME() - _ts_; \
+
_trace_leave ((MSG),
HRTIME(
)
)
; \
} \ }while(0) #endif #define TRACE_ENTER(MSG,OBJ) ID_TRACE_ENTER (id, (MSG), (OBJ)) #define TRACE_LEAVE(MSG) ID_TRACE_LEAVE (id, (MSG)) // SIMPLE_TRACE_ENTER and SIMPLE_TRACE_LEAVE are simpler variants of // the above macros since they handle sprintf style format lists. Note