From 557a9d4054f6da38bc000a5842582d2afbc23294 Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Fri, 15 Sep 2017 13:02:19 -0700 Subject: [PATCH] bootstat: reduce overall boot time Run bootstat as a oneshot service rather than as a series of inline exec commands. exec commands impact boot time. Test: cts-tradefed run cts-dev --module CtsBootStatsTestCases system/core/bootstat/boot_reason_test.sh all (make sure it filters out new init reports) Bug: 65736247 Change-Id: Ic9d509a8cbee4bc1e278081de1001e25ae0915fd --- bootstat/boot_reason_test.sh | 2 ++ bootstat/bootstat.rc | 10 ++-------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/bootstat/boot_reason_test.sh b/bootstat/boot_reason_test.sh index 6d2f5d7b5..4314271da 100755 --- a/bootstat/boot_reason_test.sh +++ b/bootstat/boot_reason_test.sh @@ -176,6 +176,8 @@ init : processing action (post-fs-data) from (/system/etc/init/bootstat.rc init : processing action (boot) from (/system/etc/init/bootstat.rc init : processing action (ro.boot.bootreason=*) from (/system/etc/init/bootstat.rc init : processing action (sys.boot_completed=1 && sys.logbootcomplete=1) from (/system/etc/init/bootstat.rc + (/system/bin/bootstat --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.logbootcomplete=1 (/system/etc/init/bootstat.rc: init : Command 'exec - system log -- /system/bin/bootstat --record_boot_reason' action=sys.boot_completed=1 && sys.logbootcomplete=1 (/system/etc/init/bootstat.rc: init : Command 'exec - system log -- /system/bin/bootstat --record_time_since_factory_reset' action=sys.boot_completed=1 && sys.logbootcomplete=1 (/system/etc/init/bootstat.rc: diff --git a/bootstat/bootstat.rc b/bootstat/bootstat.rc index c1da43a56..f06a38ff1 100644 --- a/bootstat/bootstat.rc +++ b/bootstat/bootstat.rc @@ -46,7 +46,7 @@ on post-fs-data # property:init.svc.bootanim=running: The boot animation is running # property:ro.crypto.type=block: FDE device on post-fs-data && property:init.svc.bootanim=running && property:ro.crypto.type=block - exec - system log -- /system/bin/bootstat -r post_decrypt_time_elapsed + exec_background - system log -- /system/bin/bootstat -r post_decrypt_time_elapsed # sys.logbootcomplete is a signal to enable the bootstat logging mechanism. # This signaling is necessary to prevent logging boot metrics after a runtime @@ -69,13 +69,7 @@ on property:init.svc.zygote=stopping # Record boot complete metrics. on property:sys.boot_completed=1 && property:sys.logbootcomplete=1 # Record boot_complete and related stats (decryption, etc). - exec - system log -- /system/bin/bootstat --record_boot_complete - # Record the boot reason. - exec - system log -- /system/bin/bootstat --record_boot_reason - # Record time since factory reset. - exec - system log -- /system/bin/bootstat --record_time_since_factory_reset - # Log all boot events. - exec - system log -- /system/bin/bootstat -l + exec_background - system log -- /system/bin/bootstat --record_boot_complete --record_boot_reason --record_time_since_factory_reset -l