前言:虽然有翻译软件,虽然有chatgpt,毕竟语言隔阂,对这个工具还是一知半解,因此想通过翻译的方式和大家来一起学习下Perfetto这个强大的工具
#####################以下分割线#####################
英文原文在这里
trace可视化-Perfetto UI
Perfetto UI可以在浏览器中查看和分析trace。它支持几种不同的跟踪格式,包括 perfetto proto 跟踪格式和旧版 json 跟踪格式。
新功能
UI最近有哪些功能?见下文。
使用 Vega 和 Vega-lite 进行自定义可视化
加载跟踪后,侧边栏中的 Viz
可用页面允许使用 Vega 或 Vega-lite 进行自定义可视化。
Type a Vega specification into the bottom editor pane and the visualisation will update in real time in the top pane. You can put arbitrary trace_processor
SQL queries where the URL would go in a normal Vega visualisation. 在底部编辑器窗格中输入 Vega 规范的语句,可视化将在顶部窗格中实时更新。您可以将任意 trace_processor
SQL 查询放在 URL 在正常 Vega 可视化中的位置。
使用 Android 示例跟踪尝试以下可视化:
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {"url": "select cpu, dur from sched where utid != 0"},
"mark": "bar",
"encoding": {
"x": {
"field": "cpu"
},
"y": {"aggregate": "sum", "field": "dur"}
}
}
得到的结果如下(自己加的图)
截屏2023-10-23 19.37.11.png
命令面板
记住按钮在Perfetto UI中的位置有点困难,Commands可以直接查询
feature-command-palette.gif
命令有以下特点:
- 可发现和可搜索
- 键盘驱动
- Plugin-able 插件化?
- 上下文相关
- 每天都在添加更多内容
通过Ctrl-Shift-P
或在搜索栏中键入>
来访问命令面板。
更改时间格式和偏移量
feature-time.gif显示的时间戳格式可以全局更改,在秒、原始纳秒和新的“时间码”格式之间随意切换。在Trace Processor中还有一个新功能
TO_TIMECODE()
,可以打印时间码格式的时间戳。
用户界面提示和技巧
数据透视表
要在Perfetto UI中使用数据透视表,您需要在侧栏中“Support”下的“Flags”选项卡中启用“Pivot tables”功能标志。单击键盘上的“p”时,您可以在整个跟踪上弹出数据透视表。“编辑”按钮将打开一个弹出窗口,用于添加/删除和重新排序列,并更改聚合的默认排序。
pivot-table-editor.png
单击“查询”会生成一个包含所选列的表。可以展开带有展开图标的表格单元格以显示下一列值。“名称(堆栈)”列显示顶级切片,可以展开这些切片以显示子切片到最后一个子级。
区域选择会弹出一个预填充的数据透视表,该数据透视表受所选时间段和轨道 ID 的限制。
pivot-table-area-selection.png禁用指标
某些指标计算在加载trace时执行,以使用其他trace和事件对跟踪进行额外说明。可以在“Flags”页面中停用这些指标来阻止它们运行:
perfetto-ui-disable-metrics.png
#####################以上分割线#####################
后记:
1 本次主要使用百度翻译,虽然被骂,但至少翻译这个工具降低了门槛。
2 英文文档中的长难句真的是又长又难,基于百度的翻译,然后自己再调整下,水平实在有限。
3 技术背景知识不够,有些专有名词不知道怎么翻译,也不知道百度翻译的是否准确,功夫在诗外。
4 万事开头难,中间难不难,还不知道。中间的事后面再说,正确一天翻译一篇。
5 虽然可能会有人不屑,但总要有人去做不起眼的小事。
6 google 厉害,这个perfetto 工具也很厉害。君子善假于物也。
7 工具的使用是最简单的入门,背后还有更多的东西值得学习。
8 水平实在有限,闻过则喜,希望有更多的人反馈,期待更好的建议
网友评论