21std::string func_name_simplified(
const std::string& str) {
22 constexpr char kLeftBracket =
'(';
23 constexpr char kSpace =
' ';
25 auto end = str.find(kLeftBracket);
26 auto begin = str.rfind(kSpace, end);
28 if (begin == std::string::npos) {
29 return str.substr(0, end);
30 }
else if (end == std::string::npos) {
31 return str.substr(begin + 1);
33 return str.substr(begin + 1, end - begin - 1);
45 const std::string& indicator) {
46 auto simplified_name = func_name_simplified(func_name);
47 if (indicator.empty()) {
48 return simplified_name;
50 return absl::StrCat(indicator,
"_", simplified_name);
57 int64_t elapsed_time = (end_time_ - start_time_).ToNanosecond() / 1e6;
58 ADEBUG <<
"TIMER " << msg <<
" elapsed_time: " << elapsed_time <<
" ms";
61 start_time_ = end_time_;
int64_t End(const std::string &msg)
Cyber has builtin time type Time.
static Time Now()
get the current time.
std::string function_signature(const std::string &func_name, const std::string &indicator)