diff options
author | James Hawkins <jhawkins@google.com> | 2017-02-06 10:46:54 -0800 |
---|---|---|
committer | James Hawkins <jhawkins@google.com> | 2017-02-07 15:43:32 -0800 |
commit | 26f40c04c3ad80e2bc449990010d39d1c1b9a5f0 (patch) | |
tree | dc8aae8ca90822f9f9f578c40255fc7c93db76df /init/util.cpp | |
parent | 564aeca94e18cd708f93619551e05b3d59d4abe2 (diff) | |
download | system_core-26f40c04c3ad80e2bc449990010d39d1c1b9a5f0.tar.gz system_core-26f40c04c3ad80e2bc449990010d39d1c1b9a5f0.tar.bz2 system_core-26f40c04c3ad80e2bc449990010d39d1c1b9a5f0.zip |
bootstat: Remove custom uptime parser in favor of elapsedRealtime.
Refactored init/utils/boot_clock into base/chrono_utils.
Bug: 34352037
Test: none
Change-Id: Ied0c00867336b85922369d7ff37520e3d28fc61e
Diffstat (limited to 'init/util.cpp')
-rw-r--r-- | init/util.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/init/util.cpp b/init/util.cpp index 888a36652..f59ba82e1 100644 --- a/init/util.cpp +++ b/init/util.cpp @@ -51,6 +51,8 @@ #include "property_service.h" #include "util.h" +using android::base::boot_clock; + static unsigned int do_decode_uid(const char *s) { unsigned int v; @@ -199,11 +201,16 @@ bool write_file(const char* path, const char* content) { return success; } -boot_clock::time_point boot_clock::now() { - timespec ts; - clock_gettime(CLOCK_BOOTTIME, &ts); - return boot_clock::time_point(std::chrono::seconds(ts.tv_sec) + - std::chrono::nanoseconds(ts.tv_nsec)); +Timer::Timer() : start_(boot_clock::now()) { +} + +double Timer::duration_s() const { + typedef std::chrono::duration<double> double_duration; + return std::chrono::duration_cast<double_duration>(boot_clock::now() - start_).count(); +} + +int64_t Timer::duration_ms() const { + return std::chrono::duration_cast<std::chrono::milliseconds>(boot_clock::now() - start_).count(); } int mkdir_recursive(const char *pathname, mode_t mode) |