diff options
author | Elliott Hughes <enh@google.com> | 2020-07-23 15:26:10 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2020-07-23 16:33:53 -0700 |
commit | a660cb3f13ad369554678ea19753cbc7e92726f3 (patch) | |
tree | 3559b09f77391adc9c74016ff9d9d2e52d2d1fb2 /debuggerd/libdebuggerd/backtrace.cpp | |
parent | 4aa073337d6b872ff87b702c4dcfa26142e6c9c2 (diff) |
debuggerd: use One True timestamp function.
An OEM asks for sub-second granularity, and that's most easily done if
we only have one timestamp generator. I'm not convinced sub-second
granularity is particularly useful myself, and I definitely don't think
that nanosecond resolution is meaningful but I do like this cleanup, and
if I'm going to use sub-second precision I may as well use the maximum
precision available to me.
Also reduce some duplication of code reading cmdline/comm.
Bug: https://issuetracker.google.com/161860597
Test: head /data/tombstones/*
Change-Id: I035ecfd4a3338ccd84dae0ef973a998a7c7c5056
Diffstat (limited to 'debuggerd/libdebuggerd/backtrace.cpp')
-rw-r--r-- | debuggerd/libdebuggerd/backtrace.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/debuggerd/libdebuggerd/backtrace.cpp b/debuggerd/libdebuggerd/backtrace.cpp index c60697099..f5a873c4d 100644 --- a/debuggerd/libdebuggerd/backtrace.cpp +++ b/debuggerd/libdebuggerd/backtrace.cpp @@ -27,7 +27,6 @@ #include <string.h> #include <sys/ptrace.h> #include <sys/types.h> -#include <time.h> #include <unistd.h> #include <map> @@ -40,14 +39,10 @@ #include "libdebuggerd/types.h" #include "libdebuggerd/utility.h" +#include "util.h" static void dump_process_header(log_t* log, pid_t pid, const char* process_name) { - time_t t = time(NULL); - struct tm tm; - localtime_r(&t, &tm); - char timestr[64]; - strftime(timestr, sizeof(timestr), "%F %T", &tm); - _LOG(log, logtype::BACKTRACE, "\n\n----- pid %d at %s -----\n", pid, timestr); + _LOG(log, logtype::BACKTRACE, "\n\n----- pid %d at %s -----\n", pid, get_timestamp().c_str()); if (process_name) { _LOG(log, logtype::BACKTRACE, "Cmd line: %s\n", process_name); @@ -106,9 +101,8 @@ void dump_backtrace_header(int output_fd) { log.tfd = output_fd; log.amfd_data = nullptr; - char process_name[128]; - read_with_default("/proc/self/cmdline", process_name, sizeof(process_name), "<unknown>"); - dump_process_header(&log, getpid(), process_name); + pid_t pid = getpid(); + dump_process_header(&log, pid, get_process_name(pid).c_str()); } void dump_backtrace_footer(int output_fd) { |