近期需要分析系统性能,得知使用android 系统的systrace 可以实现,通过生成.html为后缀的文件,再使用chrome的浏览器 ,就可以很方便的查看系统性能指标。在此记录总结这几天的劳作,也方便后面再次使用。(本人系统平台MTK8735 6.0)
1.android 系统需要配置ftrace 功能,kernel 下的kernel-3.18/arch/arm64/configs/文件需要对应的宏配置ftrace 相关功能。(建议使用eng版本)
CONFIG_FUNCTION_TRACER
CONFIG_FUNCTION_GRAPH_TRACER
CONFIG_CONTEXT_SWITCH_TRACER
CONFIG_NOP_TRACER
CONFIG_SCHED_TRACER
2.pc端需要搭建相应的工具
我这边是Python 2.7.13,pip和pywin32 。其中python 在安装时我这边由于刚开始不是2.7.13 出现其他问题,导致pip无法安装。
具体如下:
下载Python2.7.13 的win7 64位版本并安装,然后进入其安装目录。
进入Scripts目录
DOS下运行 easy_install.exe pip
成功后会出现如下图所示
最后需要配置环境变量python 的和pip 的 ,验证其是否可以使用。可以在DOS 命令下输入:
pip --version
至此,python pip已成功
可以参考高人博客配置上述工具链接:https://www.cnblogs.com/qingqing-919/p/9046600.html
接下来是安装pyWin32
这个工具需要针对当前的python版本来下载安装,我这边安装的是:pywin32-220.win-amd64-py2.7,此前下载过211 的 结果不行。此工具安装很简单,不再赘述。
链接地址:
https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/
可以参看高人博客:https://blog.csdn.net/Huhuang/article/details/60876251
第三部分是使用android 的monitor 工具抓取systrace 。本人这边使用android sdk中的monitor.bat 抓取systrace log后使用chrome 浏览器一直无法正常显示。
有朋友也碰到这样的现象,请交流沟通QQ:497801250
后面分析认为可能是系统中的工具不兼容。本人用手机中的atrace 命令生成的.trace 文件,再使用sdk中的 systrace.py脚本生成html文件后却可以通过chrome查看,所以我打算使用DOS脚本生成html文件。具体脚本如下:
核心代码就三行
adb shell atrace -c -b 10240 --async_start -z gfx input view wm am sched load idle freq
pause
adb shell atrace -c -b 10240 --async_stop -z gfx input view wm am sched load idle freq > out\trace_raw
pause
生成trace_raw 文件后需要通过systrace 工具 转为html文件
python systrace.py --from-file out\trace_raw -o out\trace.html
我这边通过尝试将三行命令合为一个bat文件,同时因为路径问题将sdk中的systrace 目录下的文件统一拷贝了 方便操作。附件中可以直接下载使用:链接
具体的怎么设置及参数需要进一步了解,此处略。