am 102ead3a: am b10e562b: Merge "Introduce a mechanism to trace boot sequence."

* commit '102ead3ae187a007b8a90b61ea243197927b6ae2':
  Introduce a mechanism to trace boot sequence.
This commit is contained in:
Yasuhiro Matsuda 2015-07-30 08:05:13 +00:00 committed by Android Git Automerger
commit 6b802c4b95
3 changed files with 32 additions and 0 deletions

View file

@ -377,6 +377,29 @@ system_server: 15350 15150 (-200)
bootanimation ends at: 33790 31230 (-2560)
Systrace
--------
Systrace [1] can be used for obtaining performance analysis reports during boot
time on userdebug or eng builds.
Here is an example of trace events of "wm" and "am" categories:
$ANDROID_BUILD_TOP/external/chromium-trace/systrace.py wm am --boot
This command will cause the device to reboot. After the device is rebooted and
the boot sequence has finished, the trace report is obtained from the device
and written as trace.html on the host by hitting Ctrl+C.
LIMITATION
Recording trace events is started after persistent properties are loaded, so
the trace events that are emitted before that are not recorded. Several
services such as vold, surfaceflinger, and servicemanager are affected by this
limitation since they are started before persistent properties are loaded.
Zygote initialization and the processes that are forked from the zygote are not
affected.
[1] http://developer.android.com/tools/help/systrace.html
Debugging init
--------------
By default, programs executed by init will drop stdout and stderr into

View file

@ -295,6 +295,7 @@ on post-fs-data
chmod 0660 /data/misc/wifi/wpa_supplicant.conf
mkdir /data/local 0751 root root
mkdir /data/misc/media 0700 media media
mkdir /data/misc/boottrace 0771 system shell
# For security reasons, /data/local/tmp should always be empty.
# Do not place files or directories in /data/local/tmp

View file

@ -33,3 +33,11 @@ on boot
# Allow only the shell group to read and truncate the kernel trace.
chown root shell /sys/kernel/debug/tracing/trace
chmod 0660 /sys/kernel/debug/tracing/trace
on property:persist.debug.atrace.boottrace=1
start boottrace
# Run atrace with the categories written in a file
service boottrace /system/bin/atrace --async_start -f /data/misc/boottrace/categories
disabled
oneshot