bootstat: remove unused FDE boot events
Android 13 dropped support for Full Disk Encryption (FDE) entirely, as it has been replaced by File Based Encryption (FBE). Therefore, the FDE-specific boot events are never emitted. Remove them from the code: * boot_decryption_complete * boot_complete_post_decrypt * factory_reset_boot_complete_post_decrypt * ota_boot_complete_post_decrypt * post_decrypt_time_elapsed Bug: 208476087 Change-Id: Id7a3bbd4f273693bd37b0cd27542dc6080d1c4f4
This commit is contained in:
parent
8945a42a1e
commit
d76e4e01c9
3 changed files with 9 additions and 40 deletions
|
@ -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
|
||||
|
@ -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:
|
||||
|
|
|
@ -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}},
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
@ -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());
|
||||
// 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());
|
||||
|
||||
// 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 {
|
||||
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());
|
||||
|
||||
|
|
|
@ -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…
Reference in a new issue