bootstat: Calculate and log the time_since_last_boot metric.

Bug: 28163811
Change-Id: I2e1350531f6a0fc891c270cfdfca6c8ad63f8040
This commit is contained in:
James Hawkins 2016-04-14 14:13:20 -07:00
parent 9a3e238a60
commit 2d8b3e66c6
1 changed files with 12 additions and 0 deletions

View File

@ -205,7 +205,19 @@ std::string CalculateBootCompletePrefix() {
void RecordBootComplete() {
BootEventRecordStore boot_event_store;
BootEventRecordStore::BootEventRecord record;
time_t uptime = bootstat::ParseUptime();
time_t current_time_utc = time(nullptr);
if (boot_event_store.GetBootEvent("last_boot_time_utc", &record)) {
time_t last_boot_time_utc = record.second;
time_t time_since_last_boot = difftime(current_time_utc,
last_boot_time_utc);
boot_event_store.AddBootEventWithValue("time_since_last_boot",
time_since_last_boot);
}
boot_event_store.AddBootEventWithValue("last_boot_time_utc", current_time_utc);
// The boot_complete metric has two variants: boot_complete and
// ota_boot_complete. The latter signifies that the device is booting after