From da40c00137f75543a69972f1be506e2d14a41845 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 27 Mar 2015 23:20:44 -0700 Subject: Log more timing information from init. Also make important events in init's life NOTICE rather than INFO, and ensure that NOTICE events actually make it to the kernel log. Also fix the logging so that if you have a printf format string error, the compiler now catches it. Also give messages from init, ueventd, and watchdogd distinct tags. (Previously they'd all call themselves "init", and dmesg doesn't include pids, so you couldn't untangle them.) Also include the tag in SELinux messages. Bug: 19544788 Change-Id: Ica6daea065bfdb80155c52c0b06f346a7df208fe --- init/util.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'init/util.h') diff --git a/init/util.h b/init/util.h index e0b3c69..8fec7a8 100644 --- a/init/util.h +++ b/init/util.h @@ -33,7 +33,22 @@ int create_socket(const char *name, int type, mode_t perm, bool read_file(const char* path, std::string* content); int write_file(const char* path, const char* content); -time_t gettime(void); +time_t gettime(); +uint64_t gettime_ns(); + +class Timer { + public: + Timer() : t0(gettime_ns()) { + } + + double duration() { + return static_cast(gettime_ns() - t0) / 1000000000.0; + } + + private: + uint64_t t0; +}; + unsigned int decode_uid(const char *s); int mkdir_recursive(const char *pathname, mode_t mode); -- cgit v1.1