前言:虽然有翻译软件,虽然有chatgpt,毕竟语言隔阂,对这个工具还是一知半解,因此想通过翻译的方式和大家来一起学习下Perfetto这个强大的工具
Perfetto 介绍第一篇
Perfetto 介绍第二篇
Perfetto 介绍第三篇
Perfetto 介绍第四篇
Perfetto 介绍第五篇
#####################以下分割线#####################
英文原文在这里
本篇指南示范了使用traceconv将Perfetto traces转换成其他格式的trace
conversion.png
准备工作
1 linux或linux 主机
2 protobuf 格式的Perfetto trace
支持导出的trace 格式
-
text
- protobuf text 格式: protos的文本表示 -
json
- Chrome JSON 格式: chrome://tracing 支持的json格式 -
systrace
: ftrace text格式,可以供Android systrace使用 - profile: 类似pprof格式,支持native heap profile 生成的trace,以及 callstack sampling,注意callstacks需要添加--perf 参数。
安装
直接使用最新版本的二进制文件
curl -LO https://get.perfetto.dev/traceconv
chmod +x traceconv
./traceconv [text|json|systrace|profile] [input proto file] [output file]
如果需要指定版本,使用指定的版本号替换下面的<tag>
curl -LO https://raw.githubusercontent.com/google/perfetto/<tag>/tools/traceconv
chmod +x traceconv
./traceconv [text|json|systrace|profile] [input proto file] [output file]
转换成systrace 支持的格式
./traceconv systrace [input proto file] [output systrace file]
转换成Chrome Tracing支持的JSON format
./traceconv json [input proto file] [output json file]
转换成pprof格式的profile
这将从trace中提取所有样本,并输出与pprf兼容的proto。
如果正在提取像heapprofd这样的heaps profiles,你可以使用以下方法:
~/tracecov profile [输入原型文件] [输出文件]
但是,如果使用的是像traced_perf这样的callstack sampling,请改用以下方法:
~/tracecov profile [输入原型文件] [输出文件]--perf
注意--perf的输出是trace中采样的每个进程一个pprof文件。如果需要,可以使用pprof将它们合并在一起。
使用旧版本的systrce 界面打开trace
如果您想使用旧版本的trace view打开Perfetto Trace,只需打开ui.Perfetto.dev,然后使用“Open with legacy UI”链接。这将使用WebAssembly在浏览器中运行traceconv,并将转换后的跟踪无缝传递给chrome://tracing.
#####################以上分割线#####################
后记:
1 本次主要使用百度翻译,虽然被骂,但至少翻译这个工具降低了门槛。
2 英文文档中的长难句真的是又长又难,基于百度的翻译,然后自己再调整下,水平实在有限。
3 技术背景知识不够,有些专有名词不知道怎么翻译,也不知道百度翻译的是否准确,功夫在诗外。
4 万事开头难,中间难不难,还不知道。中间的事后面再说,正确一天翻译一篇。
5 虽然可能会有人不屑,但总要有人去做不起眼的小事。
6 google 厉害,这个perfetto 工具也很厉害。君子善假于物也。
7 工具的使用是最简单的入门,背后还有更多的东西值得学习。
8 水平实在有限,闻过则喜,希望有更多的人反馈,期待更好的建议
网友评论