外观
如何理解Perfetto、Systrace、ftrace 与 Simpleperf?
标准回答
ftrace是Linux内核跟踪设施,可提供调度等事件;atrace用于Android相关类别和用户态标记。Systrace是较早常用的Android系统跟踪工具链。Perfetto把多种数据源放到统一时间线上,并能进行SQL分析。
Simpleperf主要用采样和硬件/软件计数器查CPU运行热点;MAT分析Java堆的对象与引用;heapprofd等工具分析Native分配。工具名称并不是互相独立的“层级”,Perfetto可能同时包含内核调度、应用埋点、堆和帧数据。
可以先用系统 Trace确定慢在运行、等待还是显示,再用专门工具补充最缺的证据。
追问与回答
为什么不一开始就开全量方法追踪
高开销可能改变时序和热点,数据也难处理。先用较低开销的采集定位窗口,再在必要范围使用更细的追踪。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q032