输出格式¶
perfetto-cli 支持三种输出格式,通过 -f, --format 选项控制。
text(默认)¶
使用 Rich 的彩色终端输出。最适合交互式使用。
特点:
- 按严重程度着色
- 对齐的列
- 汇总统计
- 长操作的进度指示
table¶
ASCII 表格格式。适合无颜色依赖的数据查看。
特点:
- 清晰的 ASCII 边框
- 任何终端都能正常显示
- 适合复制粘贴到文档中
json¶
机器可读的 JSON 输出。最适合脚本处理、管道操作和 CI 集成。
特点:
- 结构化数据便于程序化访问
- 可通过管道传给
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'