值得一看的Perfetto分析进阶

Perfetto是Android Q引入的高性能跟踪工具,支持长时间跟踪记录和SQL查询分析。它提供了命令行工具、UI界面和强大的扩展能力,相较于systrace,Perfetto具备更便捷的操作、更强大的查询分析功能。本文介绍了如何使用Perfetto进行trace抓取、UI展示和SQL查询,帮助读者掌握Perfetto的常规分析方法。
摘要由CSDN通过智能技术生成

【阅读推荐】

一文看懂Linux 页表、大页与透明大页

Linux用户空间与内核空间(理解高端内存)

需要多久才能看完linux内核源码?

详细讲解磁盘及文件系统管理(图例解析)

全面详细介绍Linux 虚拟文件系统(VFS)原理

Perfetto是Android Q中引入的全新下一代平台级跟踪工具,为Android、Linux和Chrome平台提供了一种通用的性能检测和跟踪分析工具集。其核心是引入了一种全新的用户空间到用户空间的跟踪协议,该协议基于protobuf序列化机制将抓取的数据填充到共享内存缓冲区,可用于获取平台内部的内置数据源(例如ftrace、atrace、logcat),也提供了SDK和Library给上层C++应用程序来实现定制。Perfetto允许通过一个可扩展的配置文件来对数据源抓取进行灵活动态配置,且可以将超长trace数据流记录到文件系统中。

在当前Android实现中,perfetto提供了用于记录系统和应用级trace的service和library、低开销的native+java heap分析工具,可供SQL分析trace文件的library,以及一个基于Web的可视化呈现界面 —— Perfetto UI。

传统systrace

Perfetto UI

Perfetto相比systrace的优势:

a. 操作、查询、定位、可视化分析标记方便快捷;

b. 其可持续记录较长的跟踪记录并导出到文件系统中;

c. 更强的拓展能力,支持扩展ftrace数据解析,解析器及呈现容易更新

d. 内建支持SQLite,通过SQL查询可以方便地进行数据后期处理;

二、使用及分析

1. perfetto trace抓取工具

官方命令行操作,config.pbtx为 trace配置,指定了要抓取的category、时长、buffer大小等信息,具体可参考: https://perfetto.dev/docs/quickstart/android-tracing

adb push config.pbtx /data/local/tmp/config.pbtx

adb shell 'cat /data/local/tmp/config.pbtx | perfetto --txt -c - -o /data/misc/perfetto-traces/trace.perfetto-trace'

2. UI展现

官方网址:https://ui.perfetto.dev/#!/

打开上述网址,点击Open trace file,选择本地录制好的perfetto trace或ftrace、systrace等文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值