美文网首页perfetto 官方文档翻译
Perfetto 翻译第八篇-快速入门-调用堆栈采样

Perfetto 翻译第八篇-快速入门-调用堆栈采样

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

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

Perfetto 翻译第一篇
Perfetto 翻译第二篇
Perfetto 翻译第三篇
Perfetto 翻译第四篇
Perfetto 介绍第五篇
Perfetto 翻译第六篇
Perfetto 翻译第七篇

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

英文原文在这里

前提条件

ADB已安装。

抓取CPU profile
Linux / Mac os

首先确保adb 已经在环境变量Path中

adb devices -l

如果连接了多个设备或模拟器,则必须按照以下方式提前选择一个:

export ANDROID_SERIAL=SER123456

如果没有安装perfetto,下载好 cpu_profile脚本

curl -LO https://raw.githubusercontent.com/google/perfetto/main/tools/cpu_profile
chmod +x cpu_profile

之后就可以开始profiling,比如如果要profile processes com.android.foo 和com.android.bar这两个进程

./cpu_profile -n "com.android.foo,com.android.bar"

默认情况下,profiling一直运行直到手动终止。如要设置特定的录制持续时间(例如30秒),请使用:

./cpu_profile -n "com.android.foo,com.android.bar" -d 30000

要更改采集的记录频率(例如每秒120个样本),请设置-f参数:

./cpu_profile -n "com.android.foo,com.android.bar" -f 120

也可以启动--partial-matching/-p 这个参数,然后就可以只传入进程名的一部分。这与启动profiling时已在运行的进程相匹配

例如,要profiling进程com.android.foo和com.android.bar,可以这样:

./cpu_profile -n "foo,bar" -p

还可以使用-c参数传入自定义Perfetto配置,该配置将覆盖上面的所有选项:

./cpu_profile -c "path/to/perfetto.config"

要更改配置文件的输出位置,请使用-o参数:

./cpu_profile -n "com.android.foo,com.android.bar" -o "path/to/output/directory"
Windows

首先确保adb 已经在环境变量Path中

set PATH=%PATH%;%USERPROFILE%\Downloads\platform-tools
adb devices -l

如果连接了多个设备或模拟器,则必须按照以下方式提前选择一个:

set ANDROID_SERIAL=SER123456

下载好 cpu_profile,然后开始profiling。比如要profile 进程com.android.foo 和 com.android.bar。可以这样做]

python3 /path/to/cpu_profile -n "com.android.foo,com.android.bar"

更多参数的使用请前面的参考linux 和Mac OS部分

符号化

如果收集到的profiles缺少符号,则可能需要对其进行符号化。有关如何执行此操作的更多详细信息,请参阅这里

例如,要对进程com.android.foo的profiles进行profile和符号化,运行如下命令:

PERFETTO_SYMBOLIZER_MODE=index PERFETTO_BINARY_PATH=path/to/directory/with/symbols/ ./cpu_profile -n "com.android.foo"

查看profile

将原始trace或符号化的trace从输出目录上载到Perfetto UI,然后在要profile的进程上,单击并拖动UI轨迹中名为“Perf Samples”的一个或多个菱形标。每个菱形标记表示时间线上该点的调用堆栈的快照。

cpu_profile.png

cpu_profile还将为它在输出目录中描述的每个进程编写单独的概要文件,这些概要文件可以使用pprf进行可视化。

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

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

相关文章

网友评论

    本文标题:Perfetto 翻译第八篇-快速入门-调用堆栈采样

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