Roxen.git / server / etc / include / request_trace.h

version» Context lines:

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.19 2009/04/21 14:48:48 jonasw Exp $ + // $Id: request_trace.h,v 1.20 2009/04/21 15:54:52 mast 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:48:    _id_->misc->trace_overhead += HRTIME() - _ts_; \    } \    }while(0)      #else      # define ID_TRACE_ENTER(ID, MSG, OBJ) do{ \    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), HRTIME()); \ +  ([function(string,mixed,int:void)] _id_misc_->trace_enter)) { \ +  int _ts_ = HRTIME(); \ +  _trace_enter ((MSG), (OBJ), _ts_); \ +  _id_->misc->trace_overhead += HRTIME() - _ts_; \    } \ -  +  } \    }while(0)      # define ID_TRACE_LEAVE(ID, MSG) do{ \    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), HRTIME()); \ +  ([function(string,int:void)] _id_misc_->trace_leave)) { \ +  int _ts_ = HRTIME(); \ +  _trace_leave ((MSG), _ts_); \ +  _id_->misc->trace_overhead += HRTIME() - _ts_; \    } \ -  +  } \    }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   // the reversed argument order in SIMPLE_TRACE_ENTER compared to