aosp12/system/extras/boottime_tools/bootanalyze
hcl 7be3fd486c init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
..
stressfs init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
README.md init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
bootanalyze.py init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
bootanalyze.sh init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
bugreport_anayze.py init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
config.yaml init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00

README.md

bootanalyze

The bootanalyze tool helps to profile boot timing.

[TOC]

Preliminaries

  • Need to access "su" on the Device Under Test, e.g. a userdebug build.
  • This only works on Linux with Python 2.7, PyYAML and pybootchartgui.
sudo pip install pyyaml
sudo apt-get install pybootchartgui

Examples

  • bootanalyze.sh provides an example to analyze boot-times and bootcharts.
ANDROID_BUILD_TOP="$PWD" \
CONFIG_YMAL="$ANDROID_BUILD_TOP/system/extras/boottime_tools/bootanalyze/config.yaml" \
    LOOPS=3 \
    RESULTS_DIR="$ANDROID_BUILD_TOP/bootAnalyzeResults" \
    $PWD/system/extras/boottime_tools/bootanalyze/bootanalyze.sh

config.yaml

Per specific product modify config.yaml file to include events you are looking for. Config should look like:

stop_event: <logcat log message which will terminate log collection after reboot>
events:
  event1_name: <pattern that matches log message>
  event2_.....

On some devise clock is showing incorrect time for first couple of seconds after boot. To ensure correct adjustment of time, one has to include event in config that will be present in dmesg log after clock correction.