Perfetto 介绍第三篇

作者: David_zhou | 来源:发表于2023-09-23 22:14 被阅读0次

前言:虽然有翻译软件,虽然有chatgpt,毕竟语言隔阂,对这个工具还是一知半解,因此想通过翻译的方式和大家来一起学习下Perfetto这个强大的工具

Perfetto 介绍第一篇
Perfetto 介绍第二篇

#####################以下分割线#####################

英文原文在这里

常见问题

如何从命令行打开trace 可视化界面

从命令行收集trace时,使用open_trace_in_ui脚本可以比较方便的打开traces。

可以按如下方式使用:

curl -OL https://github.com/google/perfetto/raw/master/tools/open_trace_in_ui
chmod +x open_trace_in_ui
./open_trace_in_ui -i /path/to/trace

如果已经下载好Perfetto。可以跳过前两个步骤。直接从Perfetto根目录执行。

tools/open_trace_in_ui -i /path/to/trace
为什么Perfetto不支持一些晦涩的JSON格式的trace

Json 格式的trace 是一种旧的trace 格式,我们尽力在Perfetto上支持这种格式。我们尽力保持与chrome://tracing UI上一样的事件解析和显示的格式规范。但总有例外,特别是非Chrome平台产生的json trace,具体取决于json 格式的trace对chrome://tracing的实现细节上。

如果支持某个功能会带来不合理的技术债务,我们通常会选择不支持该功能。建议用户使用Perfetto 原生支持的TrackEvent. 参考这里的指引.了解如何使用TrackEvent表示常见的JSON事件。

为什么JSON traces中的重叠事件没有正确显示?

Perfetto UI和trace processor不支持重叠的B/E/X事件,这符合JSON trace的规范。正如规范中所述,事件只允许完美嵌套。

建议用户使用TrackEvent,这个是Perfetto的原生支持的trace格式。请参阅本指南,了解如何使用TrackEvent表示常见的JSON事件。

如何在不instrumenting程序的情况下使用Perfetto工具?

一个常见的问题是,用户希望使用Perfetto分析和可视化工具,但他们不想instrument自己的程序。这可能是因为Perfetto不适合他们的用例,也可能是因为他们可能已经有了tracing系统。

对此,推荐的方法是发出Perfetto的原生TrackEvent proto格式。这里提供了相关的参考指南

应用有多个进程,怎样才能在一个trace看到所有的进程

在“系统模式”下使用Tracing SDK。所有进程都将通过socket被trace,这样就能在一个trace看到所有的进程。

#####################以上分割线#####################

后记:
1 本次主要使用百度翻译,虽然被骂,但至少翻译这个工具降低了门槛。
2 英文文档中的长难句真的是又长又难,基于百度的翻译,然后自己再调整下,水平实在有限。
3 技术背景知识不够,有些专有名词不知道怎么翻译,也不知道百度翻译的是否准确,功夫在诗外。
4 万事开头难,中间难不难,还不知道。中间的事后面再说,正确一天翻译一篇。
5 虽然可能会有人不屑,但总要有人去做不起眼的小事。
6 google 厉害,这个perfetto 工具也很厉害。君子善假于物也。
7 工具的使用是最简单的入门,背后还有更多的东西值得学习。
8 水平实在有限,闻过则喜,希望有更多的人反馈,期待更好的建议

相关文章

网友评论

    本文标题:Perfetto 介绍第三篇

    本文链接:https://www.haomeiwen.com/subject/toqfbdtx.html