Skip to content

Commit c1b294a

Browse files
authored
Merge pull request #974 from emailweixu/timer_namespace
Adding namespace in timing macros
2 parents b53bdcd + 84ad724 commit c1b294a

File tree

2 files changed

+34
-18
lines changed

2 files changed

+34
-18
lines changed

paddle/utils/Stat.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,9 @@ void StatSet::printSegTimerStatus() {
137137

138138
void StatSet::printBarrierTimerStatus() {
139139
ReadLockGuard guard(lock_);
140+
if (barrierStatSet_.empty()) {
141+
return;
142+
}
140143
// control barrierAbstact in runtime, so enable compliation
141144
LOG(INFO) << std::setiosflags(std::ios::left) << std::setfill(' ')
142145
<< "======= BarrierStatSet status ======" << std::endl;

paddle/utils/Stat.h

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -258,28 +258,41 @@ inline StatSet& registerTimerArg2(uint64_t threshold = -1,
258258
// The default arguments are shown in the following line:
259259
// REGISTER_TIMER(statName, threshold = -1, statSet = globalStat)
260260
// TODO(yuyang18,wangyanfei01): if UNIQUE_NAME is needed
261-
#define REGISTER_TIMER(statName, ...) \
262-
static StatPtr __stat = registerTimerArg2(__VA_ARGS__).getStat(statName); \
263-
TimerOnce __timerOnce(__stat.get(), "", registerTimerArg1(__VA_ARGS__));
261+
#define REGISTER_TIMER(statName, ...) \
262+
static ::paddle::StatPtr __stat = \
263+
::paddle::registerTimerArg2(__VA_ARGS__).getStat(statName); \
264+
::paddle::TimerOnce __timerOnce( \
265+
__stat.get(), "", ::paddle::registerTimerArg1(__VA_ARGS__));
264266

265267
#define REGISTER_TIMER_SET(statName, start, ...) \
266-
static StatPtr __stat = registerTimerArg2(__VA_ARGS__).getStat(statName); \
267-
TimerOnce __timerOnce( \
268-
__stat.get(), "", registerTimerArg1(__VA_ARGS__), false, start);
268+
static ::paddle::StatPtr __stat = \
269+
::paddle::registerTimerArg2(__VA_ARGS__).getStat(statName); \
270+
::paddle::TimerOnce __timerOnce(__stat.get(), \
271+
"", \
272+
::paddle::registerTimerArg1(__VA_ARGS__), \
273+
false, \
274+
start);
269275

270276
// dynmaic timer, support to discriminate runtime entity, used in pserver
271-
#define REGISTER_TIMER_DYNAMIC(statName, ...) \
272-
StatPtr __stat = registerTimerArg2(__VA_ARGS__).getStat(statName); \
273-
TimerOnce __timerOnce(__stat.get(), "", registerTimerArg1(__VA_ARGS__));
274-
275-
#define REGISTER_TIMER_DYNAMIC_SET(statName, start, ...) \
276-
StatPtr __stat = registerTimerArg2(__VA_ARGS__).getStat(statName); \
277-
TimerOnce __timerOnce( \
278-
__stat.get(), "", registerTimerArg1(__VA_ARGS__), false, start);
279-
280-
#define REGISTER_TIMER_INFO(statName, info) \
281-
static StatPtr __stat = globalStat.getStat(statName); \
282-
TimerOnce __timerOnce(__stat.get(), info, 10 * 1000000LU /*threshold*/);
277+
#define REGISTER_TIMER_DYNAMIC(statName, ...) \
278+
::paddle::StatPtr __stat = \
279+
::paddle::registerTimerArg2(__VA_ARGS__).getStat(statName); \
280+
::paddle::TimerOnce __timerOnce( \
281+
__stat.get(), "", ::paddle::registerTimerArg1(__VA_ARGS__));
282+
283+
#define REGISTER_TIMER_DYNAMIC_SET(statName, start, ...) \
284+
::paddle::StatPtr __stat = \
285+
::paddle::registerTimerArg2(__VA_ARGS__).getStat(statName); \
286+
::paddle::TimerOnce __timerOnce(__stat.get(), \
287+
"", \
288+
::paddle::registerTimerArg1(__VA_ARGS__), \
289+
false, \
290+
start);
291+
292+
#define REGISTER_TIMER_INFO(statName, info) \
293+
static ::paddle::StatPtr __stat = ::paddle::globalStat.getStat(statName); \
294+
::paddle::TimerOnce __timerOnce( \
295+
__stat.get(), info, 10 * 1000000LU /*threshold*/);
283296

284297
#endif // DISABLE_TIMER
285298

0 commit comments

Comments
 (0)