summaryrefslogtreecommitdiffstats
path: root/init/util.cpp
diff options
context:
space:
mode:
authorJames Hawkins <jhawkins@google.com>2017-02-06 10:46:54 -0800
committerJames Hawkins <jhawkins@google.com>2017-02-07 15:43:32 -0800
commit26f40c04c3ad80e2bc449990010d39d1c1b9a5f0 (patch)
treedc8aae8ca90822f9f9f578c40255fc7c93db76df /init/util.cpp
parent564aeca94e18cd708f93619551e05b3d59d4abe2 (diff)
downloadsystem_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.cpp17
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)