重学perfetto官方高级抓取方案-抓取更多的内容

【AI Infra】Perfetto性能分析工具指南 Perfetto是一款开源性能分析工具,提供系统级和应用级的活动数据追踪功能。其界面分为四个区域:左侧操作区(包含Trace查看、SQL查询、预置分析等功能)、上方信息区、中间图形化展示区以及下方详细信息区。工具支持快捷键操作(w/s缩放、a/d移动、m标记等),并能高效处理大体积Trace文件。通过Timeline分析可发现性能瓶颈,如案例中update_actor耗时过高的问题,最终定位到CPU offloading导致的MemcpyH2D操作耗时过长,提出了优化方案。Perfetto相比Systrac 阅读详情
AI摘要

文章介绍了Perfetto的高级抓取方案。因Perfetto功能不断更新,官网有很多新颖功能需额外配置参数。可在官网配置页面操作开关按钮生成配置文本,保存为config.pbtx文件。介绍了直接在PC上抓取及将配置文件推送到设备再拉取到电脑分析的方式,并展示了成果。

背景:

如何在设备上抓取perfetto的trace前面文章也已经介绍了相关的方法,具体可以参考如下文章:

systrace/perfetto抓取方式分享

正常情况下上面的方式完全够用了,但是perfetto也一直在功能更新,功能也越来越多,比如我们perfetto官网就看到很多新颖的功能:
比如抓取trace时候也想对着日志看,就需要配置相关参数
在这里插入图片描述
或者是分析trace时候可以看到调用的一些堆栈,都是一些新功能,需要额外配置参数
在这里插入图片描述
那么问题就来了,上面这些新颖功能应该如何配置参数呢?难道都需要一个去网络找这个功能要抓取应该在perfetto后面加上什么参数么,这样肯定太低效,而且也很可能是错的,所以最权威的还是看看官网的是如何配置这些抓取参数。

配置抓取trace丰富参数

官方网站:
https://ui.perfetto.dev/

配置参数其实都不需要一个个手动添加,我们只需要在官网配置页面操作一个个开关按钮就可以。
具体配置操作如下:

在这里插入图片描述自己到对应选项开启需要的选项:
在这里插入图片描述最常见的的就是ATRACE的TAG开启,这个也是我们老方法也会开启的

在这里插入图片描述其他的logcat,或者Callstack大家就自己根据情况进行开启。

这些UI上配置好了会有一个对应的文本匹配生成:

在这里插入图片描述把上面的文本拷贝保存成config.pbtx文件。
那么现在已经有了要抓取数据的配置config后,应该如何使用这个config进行trace的抓取呢?

新版本抓取方式:

直接pc上进行抓取

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

对上面的命令进行深入的解释:

命令流程与作用‌
‌cat config.pbtx‌
读取本地配置文件 config.pbtx 的内容,并通过管道符 | 传递给后续命令‌。
‌adb shell‌
通过 ADB 连接 Android 设备并在其 Shell 环境中执行后续命令‌。
‌perfetto 核心参数‌
    ‌-c -‌:从标准输入(stdin)读取配置文件内容(即管道传递的 config.pbtx)。
    ‌--txt‌:声明配置文件的格式为文本(text-based)而非二进制。
    ‌-o /data/misc/perfetto-traces/trace.perfetto-trace‌
    指定输出跟踪文件的设备存储路径,生成文件名为 trace.perfetto-trace

也可以把config.pbtx进行push到设备上,这里其实和上面命令没啥差别。

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'

然后再pull到电脑上使用perfetto网站进行分析:
adb pull /data/misc/perfetto-traces/trace ~/trace.perfetto-trace

成果展示:

在这里插入图片描述
可以看看对应的logcat展示
在这里插入图片描述在这里插入图片描述

参考链接:
https://perfetto.dev/docs/quickstart/android-tracing

更多framework实战开发干货,请关注下面“千里马学框架”

perfetto详解 可以将Perfetto理解为systrace的升级版,用在更新的平台、新图表展示更多的信息。它可帮助开发者收集 Android 关键子系统(如SurfaceFlinger/SystemServer/Input/Display 等 Framework 部分关键模块、服务,View系统等)的运行信息,从而帮助开发者更直观的分析系统瓶颈,改进性能。 阅读详情

相关推荐

android 如何分析应用的内存(十三)——perfetto

从2018年始,android开发者峰会正式推出perfetto工具。从此perfetto成为安卓最重要的工具之一。在2018年以前,android使用systrace工具,进行同样的工作。第零个工具xdd:只能查看任意内存第一个工具gdb:它可以查看:寄存器,和任意位置的内存,分析coredump,能查看栈情况,不能查看堆情况第二个工具lldb:它可以查看:寄存器,和任意位置的内存,分析coredump,能查看栈情况,不能查看堆情况。

安仔的博客 8410

Perfetto详细解析

本篇文章主要介绍Perfetto的详细使用,以及各个模块在Perfetto上的表现,如何对手机性能做基本分析,如何判断卡顿等进行解析,后续会出相关的实战文章。

Android系统优化 3万+

在已有win10系统下安装Ubuntu,最后出现执行‘grub-install/dev/nvme0n1p5‘失败的致命错误的解决方案

本人电脑型号戴尔灵越,两个SSD512G固态硬盘,c盘为系统盘. Ubuntu版本为20.04LTS,在官网下载https://ubuntu.com/download/desktop/thank-you?version=20.04.3&architecture=amd64 系统盘制作工具为Rufus-3.15http://rufus.ie/zh/ 安装过程网上很多,在这里就不赘述了. 其他安装过程都很顺利,直至安装最后出现这个 本来安装了到最后还以为成了,结果又不行...... 后.

XiaoChen_gugugu的博客 1万+

Perfetto分析进阶

一、Perfetto介绍Perfetto是AndroidQ中引入的全新下一代平台级跟踪工具,为Android、Linux和Chrome平台提供了一种通用的性能检测和跟踪分析工具集。其核心是引入了一种全新的用户空间到用户空间的跟踪协议,该协议基于protobuf序列化机制将抓取的数据填充到共享内存缓冲区,可用于获取平台内部的内置数据源(例如ftrace、atrace、logcat),也提供了SDK...

内核工匠 3万+

常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别总结

常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别。

qq_30713721的博客 3471

GAMES104:02引擎架构分层-学习笔记

用户层工具层(Tool Layer):编辑器、工具界面功能层(Function Layer):渲染Rendering、动画Animation、物理Physics、相机Camera和实现游戏性的脚本Script、状态机FSM、AI等功能模块资源层(Resource Layer):各类图片、动画、音频资源加载核心层(Core Layer):核心功能如内存管理、容器分配、数据计算、多线程处理等平台层(Platform Layer):对接不同游戏平台、主机和硬件。

噗噗噗的博客 1268

Android性能分析工具:Perfetto介绍及用法

本文字数:8409字预计阅读时间:22分钟概念什么是Perfetto?Perfetto是Android 10中引入的全新平台级跟踪工具。这是适用于Android、Linux和Chrome的更加通用和复杂的开源跟踪项目。与Systrace不同,它提供数据源超集,可让您以protobuf编码的二进制流形式记录任意长度的跟踪记录。您可以在Perfetto界面中打开这些跟踪记录。Perfetto是一...

SOHU_TECH的博客 1万+

Android AI Agent集成实战:架构设计与自动化技能开发

AI Agent(人工智能代理)是一种能够感知环境、自主规划并执行任务以达成目标的软件实体。其核心原理在于结合大语言模型的推理能力与工具调用(Tool Calling)技术,使应用从被动响应转向主动服务。在移动开发领域,这项技术的价值在于为应用注入“智能大脑”,实现跨应用自动化与个性化交互,从而显著提升用户体验和操作效率。具体到Android平台,其应用场景广泛,例如自动填写表单、智能聊天辅助、个性化工作流优化等。本文聚焦于Android AI Agent的工程化落地,深入探讨了如何利用Accessibil

weixin_42636895的博客 661

性能分析工具 之 Perfetto基本使用

Perfetto是很好的性能分析工具,发展很快。它不仅可以看systrace,也可以将logcat也一起提取出来,方便与其他信息放在同一个时间轴上去分析。它也可以分析memory问题,如ion 和dma_buf 泄露。Perfetto是一个高效的性能分析工具,可以提高程序员分析问题的效率,希望大家可以掌握。

qrx941017的博客 4万+

Windows 11 安装 MySQL 8.4:安装包方式、下载、安装、使用

本文详细介绍了在 Windows 11 系统下通过 MSI 安装包方式安装 MySQL 8.4 LTS 社区版的完整流程,包括版本选择、下载、自定义安装路径、服务配置、日志设置、示例数据库创建及后续使用方法。同时提供了命令行客户端与图形化工具 DBeaver 的连接与操作演示,适合初学者和开发者快速搭建本地 MySQL 开发环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 2262

测试用例设计工具大盘点:总有一款适合你

本文旨在帮助测试工程师、开发人员及团队管理者快速了解主流测试用例设计工具的特点、适用场景和选择逻辑。覆盖工具类型包括传统文档工具、开源管理工具、商业集成平台及新兴AI工具,范围涵盖中小团队到大型企业的不同需求。本文从“测试用例设计的痛点”切入,用生活案例解释核心概念;接着按“工具类型”分类盘点主流工具(附优缺点对比表);再通过“小团队/中大型团队/敏捷团队”等真实场景教你选工具;最后展望AI等未来趋势,帮你“一次学透,终身受用”。

项目管理的博客 1590

Android性能分析工具-Perfetto基本使用

Perfetto 是一个用于性能检测和跟踪分析的生产级开源堆栈。它提供用于记录系统级和应用级跟踪的服务和库、本机 + Java 堆分析、使用 SQL 分析跟踪的库以及用于可视化和探索多 GB 跟踪的基于 Web 的 UI。

adorable_的博客 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

一款Android性能分析神器!Perfetto(建议收藏)

借助config文件配置要调试的内容,命令行如下,其中 config.pbtx为config file,可以借助 Perfetto UI的 recording setting( Perfetto UI)生成,或者在 Perfetto UI中的 redording settings中设置后好,在 recording command中 copy所有内容,在 terminal中直接 copy执行即可。它还具有其他功能,包括计算摘要度量,使用用户友好的描述注释跟踪以及从跟踪的内容派生新事件。

Hfengxiang的博客 4319

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Perfetto概览

Perfetto是谷歌提供的一个用于性能检测和 trace 文件抓取分析的生产级开源工具包。它可以帮助我们进行应用层面以及系统层面的 trace 文件抓取、native/java 内存剖析。它还提供了一个强大的库能够帮助我们在 web 网页上对抓取的trace 文件进行可视化分析,并使用 SQL 语句对大GB trace 进行查询分析。

jennyliliyang的博客 1668

perfetto使用简介

perfetto使用简介 文章目录perfetto使用简介一、使用方法1.1 打开perfetto的设置界面1.1.1 adb指令1.1.2 系统设置1.2 打开录制跟踪记录功能1.3 打开跟踪记录功能后,运行需要调试的APP1.4 运行完操作之后点击,可点击下拉菜单停止跟踪记录1.5 导出trace文件二、打开trace文件2.1 google浏览器打开perfetto网址2.2 打开trace文件!三、可以开始分析了 一、使用方法 1.1 打开perfetto的设置界面 1.1.1 adb指令 adb

dk_work的博客 5828

Android系统Trace概览

系统跟踪概览 “系统跟踪”就是记录短时间内的设备活动。系统跟踪会生成跟踪文件,该文件可用于生成系统报告。此报告可帮助您了解如何最有效地提升应用或游戏的性能。 Android 平台提供了多种不同的跟踪信息获取途径: Android Studio CPU 性能剖析器 “系统跟踪”应用 Systrace 命令行工具 Perfetto 命令行工具 在您与应用交互时,Android Studio CPU 性能剖析器可实时检查应用的 CPU 使用率和线程活动。您还可以检查方法跟踪记录、函数跟踪记录和系统跟踪记录中的

垮掉的一代人的专栏 7216

性能分析--perfetto工具使用

摘要: 性能是IT开发的核心指标,涉及响应速度、处理能力等维度。手机性能由硬件(处理器、内存、存储、散热)和软件优化共同决定,需通过实际场景测试验证。Perfetto是Android平台的开源性能追踪工具,支持命令行或配置文件抓取系统级数据,并通过网页版(ui.perfetto.dev)可视化分析CPU调度、线程活动等。高级功能包括多文件对比、SQL查询及SDK自定义追踪。大文件处理需借助TraceProcessor本地加载。该工具能精准定位性能瓶颈,优化系统效率。

xx 2573

android 性能分析工具(02)Perfetto

Perfetto 是 Android 10 中引入的全新平台级跟踪工具。这是适用于 Android、Linux 和 Chrome 的更加通用和复杂的开源跟踪项目。与 Systrace 不同,它提供数据源超集,可以用 protobuf 编码的二进制流形式记录任意长度的跟踪记录。总而言之,可以将Perfetto理解为sysyrace的升级版,用在更新的平台、新图表展示更多的信息。

wangdsh的博客 6583

Android/Linux系统性能分析工具之-perfetto

1. 前言: Perfetto工具是Android全新的统一的trace收集和分析框架,可以抓取平台和app的trace信息,是用来取代systrace的,但systrace由于历史原因也还会一直存在,并且Perfetto抓取的trace文件也可以同样转换成systrace视图,如果习惯用systrace的,可以用Perfetto UI的"Open with legacy UI"转换成systrace视图来看。 1.1 perfetto 文档地址: https://perfetto.dev/docs/

静虚待令,有物混成 1万+

性能分析神兵利器:Perfetto

什么是Perfetto?Perfetto是Android 10中引入的全新平台级跟踪工具。这是适用于Android、Linux和Chrome的更加通用和复杂的开源跟踪项目。与Systrace不同,它提供数据源超集,可让您以protobuf编码的二进制流形式记录任意长度的跟踪记录。您可以在Perfetto界面中打开这些跟踪记录。Perfetto是一款比较强大的安卓性能分析工具(它还可以用于分析其他系统),其功能涵盖了对CPU的追踪、电池耗电追踪、系统调用的追踪,内存分配与释放的追踪。除了性能数据记录外,它还有

chuyouyinghe的专栏 3255

Android Perfetto 系列 1:Perfetto 工具简介

Perfetto 是一个高级的开源工具,专为性能监测和分析而设计。它配备了一整套服务和库,能够捕获和记录系统层面以及应用程序层面的活动数据。此外,Perfetto 还提供了内存分析工具,既适用于本地应用也适用于 Java 环境。它的一个强大功能是,可以通过 SQL 查询库来分析跟踪数据,让你能够深入理解性能数据背后的细节。为了更好地处理和理解大规模数据集,Perfetto 还提供了一个基于 Web 的用户界面,使你能够直观地可视化和探索多 GB 大小的跟踪文件。

Hfengxiang的博客 1594

【Perfetto】Perfetto 零基础入门

Perfetto 是一个用于性能检测和跟踪分析的生产级开源堆栈。它提供用于记录系统级和应用程序级跟踪的服务和库、本机 + java 堆分析、使用 SQL 分析跟踪的库以及用于可视化和探索多 GB 跟踪的基于 Web 的 UI。

天天的博客 1749
上一篇: 性能优化:抓取开机trace给perfetto分析--Recording traces on Android boot
下一篇: aosp15 VSCode调试 native程序完整笔记
千里马学框架
博客等级 码龄6年 1万+粉丝 650原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值