一:简单介绍
systrace 是 Android4.1 引入的一套用于做性能分析的工具。
基于 Linux 内核的 ftrace 机制(用于跟踪 Linux 内核的函数调用),
能够输出各个线程当前的函数调用状态。
它可帮助开发人员收集 Android 关键子系统(如 surfaceflinger、
WindowManagerService 等 Framework 部分关键模块、服务)
的执行信息。从而帮助开发人员更直观的分析系统瓶颈,改进性能
---->Tracers
例:
cd external/chromium-trace //此处用的是android源代码中的systrace,也能够用SDK中的
python systrace.py -b 32768 -t 15 gfx input view webview wm am \
-t:
指定记录的时间,单位秒
gfx input view webview 等:
指定要记录的内容和 frameworks/native/cmds/atrace/atrace.cpp里面的 k_categories 数组保持一致
五:结果
systrace 是 Android4.1 引入的一套用于做性能分析的工具。
基于 Linux 内核的 ftrace 机制(用于跟踪 Linux 内核的函数调用),
能够输出各个线程当前的函数调用状态。
它可帮助开发人员收集 Android 关键子系统(如 surfaceflinger、
WindowManagerService 等 Framework 部分关键模块、服务)
的执行信息。从而帮助开发人员更直观的分析系统瓶颈,改进性能
二:内核配置
Kernel hacking---->Tracers
三: init.rc 配置
加入 mount debugfs none /sys/kernel/debug/
四:使用
环境:android 4.3
adb 连接设备(网络/USB)
adb 连接设备(网络/USB)
例:
cd external/chromium-trace //此处用的是android源代码中的systrace,也能够用SDK中的
python systrace.py -b 32768 -t 15 gfx input view webview wm am \
audio video camera hal res dalvik sched freq idle
-b :
指定 trace 的 buf 长度
-b :
指定 trace 的 buf 长度
-t:
指定记录的时间,单位秒
gfx input view webview 等:
指定要记录的内容和 frameworks/native/cmds/atrace/atrace.cpp里面的 k_categories 数组保持一致
五:结果
结果输出到 external/chromium-trace/trace.html
使用谷歌浏览器打开
使用谷歌浏览器打开
附:參数说明