跳转至

输出格式

perfetto-cli 支持三种输出格式,通过 -f, --format 选项控制。

text(默认)

使用 Rich 的彩色终端输出。最适合交互式使用。

perfetto-cli -t trace.perfetto-trace -p com.example.app frame jank

特点:

  • 按严重程度着色
  • 对齐的列
  • 汇总统计
  • 长操作的进度指示

table

ASCII 表格格式。适合无颜色依赖的数据查看。

perfetto-cli -t trace.perfetto-trace -p com.example.app frame jank -f table

特点:

  • 清晰的 ASCII 边框
  • 任何终端都能正常显示
  • 适合复制粘贴到文档中

json

机器可读的 JSON 输出。最适合脚本处理、管道操作和 CI 集成。

perfetto-cli -t trace.perfetto-trace -p com.example.app frame jank -f json

特点:

  • 结构化数据便于程序化访问
  • 可通过管道传给 jq 进行过滤和转换
  • 适合 CI/CD 流水线

jq 示例

# 按严重程度统计卡顿帧
perfetto-cli -t trace.perfetto-trace -p com.app frame jank -f json | jq 'group_by(.severity) | map({severity: .[0].severity, count: length})'

# 仅获取 HUGE_JANK 帧
perfetto-cli -t trace.perfetto-trace -p com.app frame jank -f json | jq '.[] | select(.severity == "HUGE_JANK")'

# 提取 ANR 时间戳
perfetto-cli -t trace.perfetto-trace -p com.app anr detect -f json | jq '.[].timestamp'