2010年11月22日 星期一

[Android] Build Android bootchart

bootchart是一套可視覺化分析GNU/Linux啟動過程的工具,它可蒐集啟動的資訊,並產生PNG/SVG/EPS等格式的圖檔,提供我們做進一步的效能分析,以下簡述安裝過程:

1.安裝bootchart工具
$ sudo apt-get install bootchart

2.重新編譯init(讓init支援bootchart)
切換到Android source code目錄下
$ cd /path/to/android
改變init系統時間
$ touch system/core/init/init.c
載入Android bash工具
$ . build/envsetup.sh
編譯init模組
$ m INIT_BOOTCHART=true
啟動機器
$ emulator -system {/path/to}/system.img -data {/path/to}/userdata.img -ramdisk {/path/to}/ramdisk.img
設定init的time out
$ adb shell 'echo 180 > /data/bootchart-start'
$ adb shell 'mkdir /data/bootchart'

3.重新啟動機器
$ adb reboot

4.重新開機完成後檢視是否有紀錄
$ adb shell ls /data/bootchart
header
kernel_pacct
proc_diskstats.log
proc_ps.log
proc_stat.log

5.下載開機紀錄
$ cd /whatever/path
$ adb pull /data/bootchart/header
$ adb pull /data/bootchart/kernel_pacct
$ adb pull /data/bootchart/proc_diskstats.log
$ adb pull /data/bootchart/proc_ps.log
$ adb pull /data/bootchart/proc_stat.log

6.產生bootchart.tgz
$ {path/to/android}/system/core/init/grab-bootchart.sh

7.產生bootchart圖檔
$ java -jar /usr/share/bootchart/bootchart.jar bootchart.tgz
Parsing /tmp/android-bootchart/bootchart.tgz
Wrote image: ./bootchart.png


如果沒有/usr/share/bootchar/bootchart.jar這個檔案,可以在這裡取得source,解開後執行ant將會編出bootchart.jar

reference:
* Build Android Bootchart
* Using Bootchart on Android

沒有留言: