Android bootchart 分析启动性能工具使用

bootchart简介

bootchart 可为整个系统提供所有进程的 CPU 和 I/O 负载细分。该工具不需要重建系统映像,可以用作进入 systrace 之前的快速健全性检查。

1. 板端配置:

在Android 板端启用 bootchart,请运行以下命令:

2. Bootchart 环境配置

在设备启动后,提取启动图表:

$ANDROID_BUILD_TOP/system/core/init/grab-bootchart.sh

完成后,请删除 /data/bootchart/enabled 以防止每次都收集日期数据。

如果 bootchart 不起作用,并且您看到说明 bootchart.png 不存在的错误消息,请执行以下操作:

运行以下命令:

bash 复制代码
sudo apt install python-is-python3 cd /home/**/project/env/bootchart git clone https://github.com/xrmx/bootchart.git cd bootchart/pybootchartgui mv main.py.in main.py

更新 $ANDROID_BUILD_TOP/system/core/init/grab-bootchart.sh 以指向 pybootchartgui 的本地副本(位于 ~/Documents/bootchart/pybootchartgui.py

grab-bootchart.sh 修改方案:

cpp 复制代码
diff --git a/init/grab-bootchart.sh b/init/grab-bootchart.sh
index 2c56698a1..874cd2ad0 100755
--- a/init/grab-bootchart.sh
+++ b/init/grab-bootchart.sh
@@ -10,6 +10,7 @@ mkdir -p $TMPDIR
 
 LOGROOT=/data/bootchart
 TARBALL=bootchart.tgz
+BOOTCHARTGUI=/home/**/project/env/bootchart/bootchart/pybootchartgui.py
 
 FILES="header proc_stat.log proc_ps.log proc_diskstats.log"
 
@@ -17,6 +18,7 @@ for f in $FILES; do
     adb "${@}" pull $LOGROOT/$f $TMPDIR/$f 2>&1 > /dev/null
 done
 (cd $TMPDIR && tar -czf $TARBALL $FILES)
-pybootchartgui ${TMPDIR}/${TARBALL}
+#pybootchartgui ${TMPDIR}/${TARBALL}
+python ${BOOTCHARTGUI} ${TMPDIR}/${TARBALL}
 xdg-open ${TARBALL%.tgz}.png
 echo "Clean up ${TMPDIR}/ and ./${TARBALL%.tgz}.png when done"

3. 生成的bootchart 示例

相关推荐
邵旺运1 年前
学习记录:使用Bootchart分析安卓系统开机启动时长
android·学习·bootchart