bootstat: Add more debug logging metrics to RecordFactoryReset.
In an effort to track down the source of some wonky data being reported.
Bug: 27550578
Change-Id: I1f08447c0203e7982d1b44bc04b531e96358c223
(cherry picked from commit 0660b307b869c76696adac35b14c3cfe91592c2a)
diff --git a/bootstat/bootstat.cpp b/bootstat/bootstat.cpp
index bcc8abd..1460803 100644
--- a/bootstat/bootstat.cpp
+++ b/bootstat/bootstat.cpp
@@ -20,6 +20,7 @@
#include <getopt.h>
#include <unistd.h>
+#include <cmath>
#include <cstddef>
#include <cstdio>
#include <ctime>
@@ -166,6 +167,15 @@
time_t current_time_utc = time(nullptr);
+ static const char* factory_reset_current_time = "factory_reset_current_time";
+ if (current_time_utc < 0) {
+ // UMA does not display negative values in buckets, so convert to positive.
+ LogBootEvent(factory_reset_current_time, std::abs(current_time_utc));
+ return;
+ } else {
+ LogBootEvent(factory_reset_current_time, current_time_utc);
+ }
+
// The factory_reset boot event does not exist after the device is reset, so
// use this signal to mark the time of the factory reset.
if (!boot_event_store.GetBootEvent("factory_reset", &record)) {
@@ -179,6 +189,7 @@
// Calculate and record the difference in time between now and the
// factory_reset time.
time_t factory_reset_utc = record.second;
+ LogBootEvent("factory_reset_record_value", factory_reset_utc);
time_t time_since_factory_reset = difftime(current_time_utc,
factory_reset_utc);
boot_event_store.AddBootEventWithValue("time_since_factory_reset",