1、Perfetto 简介
Perfetto是谷歌提供的一个用于性能检测和 trace 文件抓取分析的生产级开源工具包。它可以帮助我们进行应用层面以及系统层面的 trace 文件抓取、native/java 内存剖析。它还提供了一个强大的库能够帮助我们在 web 网页上对抓取的trace 文件进行可视化分析,并使用 SQL 语句对大GB trace 进行查询分析。
2、trace采集
2.1、动态配置
支持开发者通过动态配置的方式抓取自己所关注的性能 trace 文件。
2.2、Android/Linux 平台系统级 trace 采集
在 Android 和 Linux 平台上, Perfetto 通过不同的系统接口来采集详细的性能数据并打包成多个数据源。如:
Kernel tracing:Perfetto 整合了 Linux’s ftrace ,支持抓取 kernel events (如scheduling events, syscalls)。
/proc and /sys pollers:支持采样一段时间内进程和系统的 Cpu 、内存的状态。
battery and energy-usage counters:整合了 Android HAL 层相关模块,采集电池和耗电的情况。
Native heap profiling:一种低开销的heap profiler ,独立于被测进程,通过 hook 内存 malloc/free/new/d