am b10e562b: Merge "Introduce a mechanism to trace boot sequence."
* commit 'b10e562b4cb5ffd6f02ab891d40644b581ad5d47': Introduce a mechanism to trace boot sequence.
This commit is contained in:
commit
102ead3ae1
3 changed files with 32 additions and 0 deletions
|
|
@ -377,6 +377,29 @@ system_server: 15350 15150 (-200)
|
||||||
bootanimation ends at: 33790 31230 (-2560)
|
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
|
Debugging init
|
||||||
--------------
|
--------------
|
||||||
By default, programs executed by init will drop stdout and stderr into
|
By default, programs executed by init will drop stdout and stderr into
|
||||||
|
|
|
||||||
|
|
@ -259,6 +259,7 @@ on post-fs-data
|
||||||
chmod 0660 /data/misc/wifi/wpa_supplicant.conf
|
chmod 0660 /data/misc/wifi/wpa_supplicant.conf
|
||||||
mkdir /data/local 0751 root root
|
mkdir /data/local 0751 root root
|
||||||
mkdir /data/misc/media 0700 media media
|
mkdir /data/misc/media 0700 media media
|
||||||
|
mkdir /data/misc/boottrace 0771 system shell
|
||||||
|
|
||||||
# For security reasons, /data/local/tmp should always be empty.
|
# For security reasons, /data/local/tmp should always be empty.
|
||||||
# Do not place files or directories in /data/local/tmp
|
# Do not place files or directories in /data/local/tmp
|
||||||
|
|
|
||||||
|
|
@ -33,3 +33,11 @@ on boot
|
||||||
# Allow only the shell group to read and truncate the kernel trace.
|
# Allow only the shell group to read and truncate the kernel trace.
|
||||||
chown root shell /sys/kernel/debug/tracing/trace
|
chown root shell /sys/kernel/debug/tracing/trace
|
||||||
chmod 0660 /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
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue