diff options
Diffstat (limited to 'debuggerd/util.cpp')
-rw-r--r-- | debuggerd/util.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/debuggerd/util.cpp b/debuggerd/util.cpp index a37b3b93ba..9d09210f58 100644 --- a/debuggerd/util.cpp +++ b/debuggerd/util.cpp @@ -17,6 +17,7 @@ #include "util.h" #include <sys/socket.h> +#include <time.h> #include <string> #include <utility> @@ -38,3 +39,19 @@ std::string get_thread_name(pid_t tid) { android::base::ReadFileToString(android::base::StringPrintf("/proc/%d/comm", tid), &result); return android::base::Trim(result); } + +std::string get_timestamp() { + timespec ts; + clock_gettime(CLOCK_REALTIME, &ts); + + tm tm; + localtime_r(&ts.tv_sec, &tm); + + char buf[strlen("1970-01-01 00:00:00.123456789+0830") + 1]; + char* s = buf; + size_t sz = sizeof(buf), n; + n = strftime(s, sz, "%F %H:%M", &tm), s += n, sz -= n; + n = snprintf(s, sz, ":%02d.%09ld", tm.tm_sec, ts.tv_nsec), s += n, sz -= n; + n = strftime(s, sz, "%z", &tm), s += n, sz -= n; + return buf; +} |