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.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