Loading bootstat/boot_reason_test.sh +0 −3 Original line number Diff line number Diff line Loading @@ -367,8 +367,6 @@ bootstat: Canonical boot reason: ${i}" adb logcat -b all ${timestamp} | grep bootstat[^e] | grep -v -F "bootstat: Service started: /system/bin/bootstat --record_boot_complete${match} bootstat: Failed to read /data/misc/bootstat/post_decrypt_time_elapsed: No such file or directory bootstat: Failed to parse boot time record: /data/misc/bootstat/post_decrypt_time_elapsed bootstat: Service started: /system/bin/bootstat --record_boot_reason bootstat: Service started: /system/bin/bootstat --set_system_boot_reason bootstat: Service started: /system/bin/bootstat --record_time_since_factory_reset Loading @@ -388,7 +386,6 @@ init : processing action (sys.bootstat.first_zygote_start=0 && zygote-start) init : processing action (sys.boot_completed=1 && sys.bootstat.first_boot_completed=0) from (/system/etc/init/bootstat.rc (/system/bin/bootstat --record_boot_complete --record_boot_reason --record_time_since_factory_reset -l)' (/system/bin/bootstat --set_system_boot_reason --record_boot_complete --record_boot_reason --record_time_since_factory_reset -l)' (/system/bin/bootstat -r post_decrypt_time_elapsed)' init : Command 'exec - system log -- /system/bin/bootstat --record_boot_complete' action=sys.boot_completed=1 && sys.bootstat.first_boot_completed=0 (/system/etc/init/bootstat.rc: init : Command 'exec - system log -- /system/bin/bootstat --record_boot_reason' action=sys.boot_completed=1 && sys.bootstat.first_boot_completed=0 (/system/etc/init/bootstat.rc: init : Command 'exec - system log -- /system/bin/bootstat --record_time_since_factory_reset' action=sys.boot_completed=1 && sys.bootstat.first_boot_completed=0 (/system/etc/init/bootstat.rc: Loading bootstat/bootstat.cpp +9 −36 Original line number Diff line number Diff line Loading @@ -67,15 +67,9 @@ const std::unordered_map<std::string_view, AtomInfo> kBootEventToAtomInfo = { {"boot_complete", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__BOOT_COMPLETE}}, {"boot_decryption_complete", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__BOOT_COMPLETE_ENCRYPTION}}, {"boot_complete_no_encryption", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__BOOT_COMPLETE_NO_ENCRYPTION}}, {"boot_complete_post_decrypt", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__BOOT_COMPLETE_POST_DECRYPT}}, {"factory_reset_boot_complete", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__FACTORY_RESET_BOOT_COMPLETE}}, Loading @@ -83,22 +77,12 @@ const std::unordered_map<std::string_view, AtomInfo> kBootEventToAtomInfo = { {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util:: BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__FACTORY_RESET_BOOT_COMPLETE_NO_ENCRYPTION}}, {"factory_reset_boot_complete_post_decrypt", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util:: BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__FACTORY_RESET_BOOT_COMPLETE_POST_DECRYPT}}, {"ota_boot_complete", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__OTA_BOOT_COMPLETE}}, {"ota_boot_complete_no_encryption", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__OTA_BOOT_COMPLETE_NO_ENCRYPTION}}, {"ota_boot_complete_post_decrypt", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__OTA_BOOT_COMPLETE_POST_DECRYPT}}, {"post_decrypt_time_elapsed", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__POST_DECRYPT}}, // DURATION {"absolute_boot_time", {android::util::BOOT_TIME_EVENT_DURATION_REPORTED, Loading Loading @@ -1313,8 +1297,7 @@ android::base::boot_clock::duration GetUptime() { return android::base::boot_clock::now().time_since_epoch() - GetBootTimeOffset(); } // Records several metrics related to the time it takes to boot the device, // including disambiguating boot time on encrypted or non-encrypted devices. // Records several metrics related to the time it takes to boot the device. void RecordBootComplete() { BootEventRecordStore boot_event_store; BootEventRecordStore::BootEventRecord record; Loading @@ -1341,25 +1324,15 @@ void RecordBootComplete() { return; } // post_decrypt_time_elapsed is only logged on encrypted devices. if (boot_event_store.GetBootEvent("post_decrypt_time_elapsed", &record)) { // Log the amount of time elapsed until the device is decrypted, which // includes the variable amount of time the user takes to enter the // decryption password. boot_event_store.AddBootEventWithValue("boot_decryption_complete", uptime_s.count()); // Subtract the decryption time to normalize the boot cycle timing. std::chrono::seconds boot_complete = std::chrono::seconds(uptime_s.count() - record.second); boot_event_store.AddBootEventWithValue(boot_complete_prefix + "_post_decrypt", boot_complete.count()); } else { // The *_no_encryption events are emitted unconditionally, since they are left // over from a time when encryption meant "full-disk encryption". But Android // now always uses file-based encryption instead of full-disk encryption. At // some point, these misleading and redundant events should be removed. boot_event_store.AddBootEventWithValue(boot_complete_prefix + "_no_encryption", uptime_s.count()); } // Record the total time from device startup to boot complete, regardless of // encryption state. // Note: we are recording seconds here even though the field in statsd atom specifies // Record the total time from device startup to boot complete. Note: we are // recording seconds here even though the field in statsd atom specifies // milliseconds. boot_event_store.AddBootEventWithValue(boot_complete_prefix, uptime_s.count()); Loading bootstat/bootstat.rc +0 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ on post-fs-data chown system log /data/misc/bootstat/last_boot_time_utc chown system log /data/misc/bootstat/ota_boot_complete chown system log /data/misc/bootstat/ota_boot_complete_no_encryption chown system log /data/misc/bootstat/post_decrypt_time_elapsed chown system log /data/misc/bootstat/ro.boottime.init chown system log /data/misc/bootstat/ro.boottime.init.cold_boot_wait chown system log /data/misc/bootstat/ro.boottime.init.selinux Loading Loading
bootstat/boot_reason_test.sh +0 −3 Original line number Diff line number Diff line Loading @@ -367,8 +367,6 @@ bootstat: Canonical boot reason: ${i}" adb logcat -b all ${timestamp} | grep bootstat[^e] | grep -v -F "bootstat: Service started: /system/bin/bootstat --record_boot_complete${match} bootstat: Failed to read /data/misc/bootstat/post_decrypt_time_elapsed: No such file or directory bootstat: Failed to parse boot time record: /data/misc/bootstat/post_decrypt_time_elapsed bootstat: Service started: /system/bin/bootstat --record_boot_reason bootstat: Service started: /system/bin/bootstat --set_system_boot_reason bootstat: Service started: /system/bin/bootstat --record_time_since_factory_reset Loading @@ -388,7 +386,6 @@ init : processing action (sys.bootstat.first_zygote_start=0 && zygote-start) init : processing action (sys.boot_completed=1 && sys.bootstat.first_boot_completed=0) from (/system/etc/init/bootstat.rc (/system/bin/bootstat --record_boot_complete --record_boot_reason --record_time_since_factory_reset -l)' (/system/bin/bootstat --set_system_boot_reason --record_boot_complete --record_boot_reason --record_time_since_factory_reset -l)' (/system/bin/bootstat -r post_decrypt_time_elapsed)' init : Command 'exec - system log -- /system/bin/bootstat --record_boot_complete' action=sys.boot_completed=1 && sys.bootstat.first_boot_completed=0 (/system/etc/init/bootstat.rc: init : Command 'exec - system log -- /system/bin/bootstat --record_boot_reason' action=sys.boot_completed=1 && sys.bootstat.first_boot_completed=0 (/system/etc/init/bootstat.rc: init : Command 'exec - system log -- /system/bin/bootstat --record_time_since_factory_reset' action=sys.boot_completed=1 && sys.bootstat.first_boot_completed=0 (/system/etc/init/bootstat.rc: Loading
bootstat/bootstat.cpp +9 −36 Original line number Diff line number Diff line Loading @@ -67,15 +67,9 @@ const std::unordered_map<std::string_view, AtomInfo> kBootEventToAtomInfo = { {"boot_complete", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__BOOT_COMPLETE}}, {"boot_decryption_complete", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__BOOT_COMPLETE_ENCRYPTION}}, {"boot_complete_no_encryption", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__BOOT_COMPLETE_NO_ENCRYPTION}}, {"boot_complete_post_decrypt", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__BOOT_COMPLETE_POST_DECRYPT}}, {"factory_reset_boot_complete", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__FACTORY_RESET_BOOT_COMPLETE}}, Loading @@ -83,22 +77,12 @@ const std::unordered_map<std::string_view, AtomInfo> kBootEventToAtomInfo = { {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util:: BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__FACTORY_RESET_BOOT_COMPLETE_NO_ENCRYPTION}}, {"factory_reset_boot_complete_post_decrypt", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util:: BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__FACTORY_RESET_BOOT_COMPLETE_POST_DECRYPT}}, {"ota_boot_complete", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__OTA_BOOT_COMPLETE}}, {"ota_boot_complete_no_encryption", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__OTA_BOOT_COMPLETE_NO_ENCRYPTION}}, {"ota_boot_complete_post_decrypt", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__OTA_BOOT_COMPLETE_POST_DECRYPT}}, {"post_decrypt_time_elapsed", {android::util::BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, android::util::BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__POST_DECRYPT}}, // DURATION {"absolute_boot_time", {android::util::BOOT_TIME_EVENT_DURATION_REPORTED, Loading Loading @@ -1313,8 +1297,7 @@ android::base::boot_clock::duration GetUptime() { return android::base::boot_clock::now().time_since_epoch() - GetBootTimeOffset(); } // Records several metrics related to the time it takes to boot the device, // including disambiguating boot time on encrypted or non-encrypted devices. // Records several metrics related to the time it takes to boot the device. void RecordBootComplete() { BootEventRecordStore boot_event_store; BootEventRecordStore::BootEventRecord record; Loading @@ -1341,25 +1324,15 @@ void RecordBootComplete() { return; } // post_decrypt_time_elapsed is only logged on encrypted devices. if (boot_event_store.GetBootEvent("post_decrypt_time_elapsed", &record)) { // Log the amount of time elapsed until the device is decrypted, which // includes the variable amount of time the user takes to enter the // decryption password. boot_event_store.AddBootEventWithValue("boot_decryption_complete", uptime_s.count()); // Subtract the decryption time to normalize the boot cycle timing. std::chrono::seconds boot_complete = std::chrono::seconds(uptime_s.count() - record.second); boot_event_store.AddBootEventWithValue(boot_complete_prefix + "_post_decrypt", boot_complete.count()); } else { // The *_no_encryption events are emitted unconditionally, since they are left // over from a time when encryption meant "full-disk encryption". But Android // now always uses file-based encryption instead of full-disk encryption. At // some point, these misleading and redundant events should be removed. boot_event_store.AddBootEventWithValue(boot_complete_prefix + "_no_encryption", uptime_s.count()); } // Record the total time from device startup to boot complete, regardless of // encryption state. // Note: we are recording seconds here even though the field in statsd atom specifies // Record the total time from device startup to boot complete. Note: we are // recording seconds here even though the field in statsd atom specifies // milliseconds. boot_event_store.AddBootEventWithValue(boot_complete_prefix, uptime_s.count()); Loading
bootstat/bootstat.rc +0 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ on post-fs-data chown system log /data/misc/bootstat/last_boot_time_utc chown system log /data/misc/bootstat/ota_boot_complete chown system log /data/misc/bootstat/ota_boot_complete_no_encryption chown system log /data/misc/bootstat/post_decrypt_time_elapsed chown system log /data/misc/bootstat/ro.boottime.init chown system log /data/misc/bootstat/ro.boottime.init.cold_boot_wait chown system log /data/misc/bootstat/ro.boottime.init.selinux Loading