59 namespace perception {
63 size_t end = full_name.find(
"(");
65 if (end == std::string::npos) {
69 std::string new_str = full_name.substr(0, end);
70 size_t start = new_str.rfind(
" ");
72 if (start == std::string::npos) {
76 return new_str.substr(start + 1);
80 const std::string& indicator) {
88 #ifdef PERCEPTION_DISABLE_PERF 91 #define PERCEPTION_PERF_FUNCTION() 93 #define PERCEPTION_PERF_FUNCTION_WITH_INDICATOR(indicator) 95 #define PERCEPTION_PERF_BLOCK_START() 97 #define PERCEPTION_PERF_BLOCK_END(msg) 99 #define PERCEPTION_PERF_BLOCK_END_WITH_INDICATOR(indicator, msg) 103 #define PERCEPTION_PERF_FUNCTION() \ 104 apollo::perception::lib::TimerWrapper _timer_wrapper_( \ 105 apollo::perception::lib::get_full_name(__PRETTY_FUNCTION__)) 107 #define PERCEPTION_PERF_FUNCTION_WITH_INDICATOR(indicator) \ 108 apollo::perception::lib::TimerWrapper _timer_wrapper_( \ 109 apollo::perception::lib::get_full_name(__PRETTY_FUNCTION__, indicator)) 111 #define PERCEPTION_PERF_BLOCK_START() \ 112 apollo::perception::lib::Timer _timer_; \ 115 #define PERCEPTION_PERF_BLOCK_END(msg) _timer_.End(msg) 117 #define PERCEPTION_PERF_BLOCK_END_WITH_INDICATOR(indicator, msg) \ 118 _timer_.End(indicator + "_" + msg) 120 #endif // PERCEPTION_DISABLE_PERF
std::string get_full_name(const std::string &full_name)
Definition: perf.h:62