Google Perfetto 命令行工具使用指南

Google Perfetto 命令行工具使用指南

perfetto Performance instrumentation and tracing for Android, Linux and Chrome (read-only mirror of https://android.googlesource.com/platform/external/perfetto/) perfetto 项目地址: https://gitcode.com/gh_mirrors/pe/perfetto

概述

Perfetto 是 Google 开发的一款高性能系统性能分析工具,其命令行工具 perfetto 提供了强大的系统跟踪数据采集能力。本文将详细介绍如何使用该工具进行系统跟踪数据的采集和分析。

工具简介

Perfetto 命令行工具提供了两种配置模式:

  1. 轻量模式:通过命令行参数直接配置,仅支持 ftrace 和 atrace 数据源,类似于传统的 systrace 工具
  2. 完整模式:通过配置文件(protobuf 格式)进行详细配置,支持所有数据源和高级功能

通用参数说明

无论使用哪种模式,以下参数都可用:

  • -d/--background:后台运行模式,立即退出命令行界面
  • -o/--out:指定输出文件路径,使用 - 表示标准输出
  • --dropbox:通过 DropBoxManager API 上传跟踪数据(仅限 Android)
  • --no-guardrails:禁用资源使用限制(仅用于测试)
  • --reset-guardrails:重置防护状态并退出(用于测试)
  • --query:查询服务状态并以可读格式输出
  • --query-raw:查询服务状态并输出原始 protobuf 数据
  • -h/--help:显示帮助信息

轻量模式使用指南

轻量模式适合快速采集基本系统跟踪数据,语法格式如下:

adb shell perfetto [选项] [事件说明符]...

常用选项

  • -t/--time:指定跟踪持续时间(单位:s/m/h),默认 10 秒
  • -b/--buffer:指定环形缓冲区大小(单位:mb/gb),默认 32mb
  • -s/--size:指定最大文件大小(单位:mb/gb),默认仅使用内存缓冲区

事件说明符

支持两种类型的事件说明:

  1. ATrace 类别:指定要记录的 atrace 类别

    • 示例:wm(记录窗口管理器事件)
    • 可用类别取决于 Android 版本
  2. Ftrace 事件:格式为 组名/事件名

    • 示例:sched/sched_switch(记录进程调度切换事件)

使用示例

# 记录 30 秒的窗口管理器和调度事件
adb shell perfetto --time 30s --out /data/misc/perfetto-traces/trace wm sched/sched_switch

完整模式使用指南

完整模式通过配置文件提供更强大的功能,语法格式如下:

adb shell perfetto [--txt] --config 配置文件

参数说明

  • -c/--config:指定配置文件路径
  • --txt:使用文本格式的配置文件(实验性功能)

配置文件格式

配置文件采用 protobuf 格式,主要定义在 trace_config.proto 中。通过配置文件可以:

  1. 精确控制数据采集的各个方面
  2. 启用高级数据源
  3. 配置复杂的触发条件
  4. 设置多级缓冲策略

使用示例

# 使用二进制格式的配置文件
adb shell perfetto --config /data/misc/perfetto-config.pb --out /data/misc/perfetto-traces/trace

# 使用文本格式的配置文件(实验性)
adb shell perfetto --txt --config /data/misc/perfetto-config.txt --out /data/misc/perfetto-traces/trace

最佳实践

  1. 开发环境:使用轻量模式快速获取基本性能数据
  2. 生产环境:使用完整模式进行详细性能分析
  3. 长时间跟踪:考虑使用 --background 参数
  4. 大文件处理:适当增加缓冲区大小避免数据丢失
  5. Android 设备:注意 DropBox 上传功能的使用限制

总结

Perfetto 命令行工具提供了从简单到复杂的多种系统跟踪数据采集方式。通过合理选择模式和参数配置,开发者可以获取所需的系统性能数据,为性能优化提供有力支持。

perfetto Performance instrumentation and tracing for Android, Linux and Chrome (read-only mirror of https://android.googlesource.com/platform/external/perfetto/) perfetto 项目地址: https://gitcode.com/gh_mirrors/pe/perfetto

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

汤力赛Frederica

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值