@ -258,28 +258,41 @@ inline StatSet& registerTimerArg2(uint64_t threshold = -1,
// The default arguments are shown in the following line:
// REGISTER_TIMER(statName, threshold = -1, statSet = globalStat)
// TODO(yuyang18,wangyanfei01): if UNIQUE_NAME is needed
# define REGISTER_TIMER(statName, ...) \
static StatPtr __stat = registerTimerArg2 ( __VA_ARGS__ ) . getStat ( statName ) ; \
TimerOnce __timerOnce ( __stat . get ( ) , " " , registerTimerArg1 ( __VA_ARGS__ ) ) ;
# define REGISTER_TIMER(statName, ...) \
static : : paddle : : StatPtr __stat = \
: : paddle : : registerTimerArg2 ( __VA_ARGS__ ) . getStat ( statName ) ; \
: : paddle : : TimerOnce __timerOnce ( \
__stat . get ( ) , " " , : : paddle : : registerTimerArg1 ( __VA_ARGS__ ) ) ;
# define REGISTER_TIMER_SET(statName, start, ...) \
static StatPtr __stat = registerTimerArg2 ( __VA_ARGS__ ) . getStat ( statName ) ; \
TimerOnce __timerOnce ( \
__stat . get ( ) , " " , registerTimerArg1 ( __VA_ARGS__ ) , false , start ) ;
static : : paddle : : StatPtr __stat = \
: : paddle : : registerTimerArg2 ( __VA_ARGS__ ) . getStat ( statName ) ; \
: : paddle : : TimerOnce __timerOnce ( __stat . get ( ) , \
" " , \
: : paddle : : registerTimerArg1 ( __VA_ARGS__ ) , \
false , \
start ) ;
// dynmaic timer, support to discriminate runtime entity, used in pserver
# define REGISTER_TIMER_DYNAMIC(statName, ...) \
StatPtr __stat = registerTimerArg2 ( __VA_ARGS__ ) . getStat ( statName ) ; \
TimerOnce __timerOnce ( __stat . get ( ) , " " , registerTimerArg1 ( __VA_ARGS__ ) ) ;
# define REGISTER_TIMER_DYNAMIC_SET(statName, start, ...) \
StatPtr __stat = registerTimerArg2 ( __VA_ARGS__ ) . getStat ( statName ) ; \
TimerOnce __timerOnce ( \
__stat . get ( ) , " " , registerTimerArg1 ( __VA_ARGS__ ) , false , start ) ;
# define REGISTER_TIMER_INFO(statName, info) \
static StatPtr __stat = globalStat . getStat ( statName ) ; \
TimerOnce __timerOnce ( __stat . get ( ) , info , 10 * 1000000LU /*threshold*/ ) ;
# define REGISTER_TIMER_DYNAMIC(statName, ...) \
: : paddle : : StatPtr __stat = \
: : paddle : : registerTimerArg2 ( __VA_ARGS__ ) . getStat ( statName ) ; \
: : paddle : : TimerOnce __timerOnce ( \
__stat . get ( ) , " " , : : paddle : : registerTimerArg1 ( __VA_ARGS__ ) ) ;
# define REGISTER_TIMER_DYNAMIC_SET(statName, start, ...) \
: : paddle : : StatPtr __stat = \
: : paddle : : registerTimerArg2 ( __VA_ARGS__ ) . getStat ( statName ) ; \
: : paddle : : TimerOnce __timerOnce ( __stat . get ( ) , \
" " , \
: : paddle : : registerTimerArg1 ( __VA_ARGS__ ) , \
false , \
start ) ;
# define REGISTER_TIMER_INFO(statName, info) \
static : : paddle : : StatPtr __stat = : : paddle : : globalStat . getStat ( statName ) ; \
: : paddle : : TimerOnce __timerOnce ( \
__stat . get ( ) , info , 10 * 1000000LU /*threshold*/ ) ;
# endif // DISABLE_TIMER