捕获设备上的系统跟踪记录  

您所在的位置:网站首页 推特app浏览记录在哪 捕获设备上的系统跟踪记录  

捕获设备上的系统跟踪记录  

2023-08-17 09:57| 来源: 网络整理| 查看: 265

搭载 Android 9(API 级别 28)或更高版本的设备包含一个名为 System Tracing 的系统级应用。此应用类似于 systrace 命令行实用程序,但允许您直接从测试设备本身录制跟踪记录,而无需插入设备并通过 ADB 连接到该设备。然后,您可以使用此应用与开发团队共享根据这些跟踪记录得出的结果。

在解决应用中与性能相关的 bug(例如启动速度慢、转换速度慢或界面卡顿)时,录制跟踪记录特别有用。

录制系统跟踪记录

借助 System Tracing 应用,您可以使用“快捷设置”功能块或应用自身内的菜单来录制系统跟踪记录。以下各部分介绍如何使用这些界面完成录制过程。

注意:作为开发工作流的一部分,您可以提交设备上的 bug 报告。在完成系统跟踪记录的录制后,请务必提交此类 bug 报告。这样,bug 报告进程本身就不会包含在录制的跟踪记录中。 使用“快捷设置”功能块录制

使用“快捷设置”功能块来完成设备上系统跟踪流程通常更便捷。

设置功能块 图 2. System Tracing 应用中的显示“快捷设置”功能块开关

如果您是首次在测试设备上使用 System Tracing,或在设备的快捷设置面板中看不到 System Tracing 功能块(图 1),请完成以下设置步骤:

启用开发者选项(如果尚未启用此选项)。 打开开发者选项设置屏幕。 在调试部分中,选择 System Tracing。此时会打开 System Tracing 应用,其中显示了应用菜单。

在应用菜单中,启用显示“快捷设置”功能块,如图 2 所示。系统会将 System Tracing 功能块添加到快捷设置面板中,如图 1 所示:

图 1. 快捷设置面板中的 System Tracing 功能块

注意:默认情况下,系统会将 System Tracing 功能块添加为快捷设置面板中的第一个功能块。如果您希望该功能块显示在其他位置,请使用此面板的修改模式移动该功能块。

完成系统跟踪记录的录制

若要使用快捷设置面板录制系统跟踪记录,请完成以下步骤:

点按 System Tracing 功能块,该功能块带有“录制跟踪记录”标签。该功能块会变为启用状态,并且系统会显示常驻通知,通知您系统正在录制跟踪记录,如图 3 所示:

包含消息“Trace is being recorded. Tap to stop tracing.”的通知。 图 3. 启动设备上系统跟踪后出现的常驻通知

在您的应用中执行您希望系统检查的操作。

注意:您可以通过以下方法记录难以重现的 bug:让 System Tracing 在后台运行,然后在 bug 发生后立即停止 System Tracing。System Tracing 会将设备的活动保存到滚动缓冲区,该缓冲区可容纳 10-30 秒的事件。

完成这些操作后,通过点按快捷设置面板中的 System Tracing 功能块或点按 System Tracing 通知来停止跟踪。

系统会显示一条包含消息“Saving trace”的新通知。保存完成后,系统会关闭该通知,并显示第三条通知,确认您的跟踪记录已保存并且您已准备好共享系统跟踪记录,如图 4 所示:

包含消息“Trace saved. Tap to share your trace.”的通知。 图 4. 系统保存完录制的跟踪记录后出现的常驻通知 使用应用菜单录制

使用应用菜单,您可以配置与系统跟踪相关的多个高级设置,并提供用于启动和停止系统跟踪记录的开关。

如需使用 System Tracing 应用菜单录制系统跟踪记录,请完成以下步骤:

启用开发者选项(如果尚未启用此选项)。

打开开发者选项设置屏幕。在调试部分中,选择 System Tracing。System Tracing 应用随即打开。

或者,如果您已设置 System Tracing 功能块,则可以长按该功能块以进入 System Tracing 应用。

请确保已选中跟踪可调试的应用,以包含已在系统跟踪中启用调试功能的应用。

(可选)选择对跟踪记录的系统和传感器调用的类别,并选择每个 CPU 的缓冲区空间(以 KB 为单位)。选择与您正在测试的用例相对应的类别,例如用于测试蓝牙操作的音频类别或用于堆分配量的内存类别。

注意:这些类别用作应用级设置,因此系统也会在使用快捷设置功能块时使用这些类别。此外,这些设置会在设备重新启动时保留。 图 5. System Tracing 应用中的录制跟踪记录开关

(可选)选择长期跟踪可启用持续保存到设备存储空间的跟踪记录。如果选择此选项,您必须设置最大长期跟踪记录大小和最大长期跟踪记录时长上限。

启用录制跟踪记录开关,如图 5 所示。该功能块会变为启用状态,并且系统会显示常驻通知,通知您系统正在录制跟踪记录(图 3)。

在您的应用中执行您希望系统检查的操作。

注意:您可以通过以下方法记录难以重现的 bug:让 System Tracing 在后台运行,然后在 bug 发生后立即停止 System Tracing。默认情况下,System Tracing 会将设备的活动保存到滚动缓冲区,该缓冲区可容纳 10-30 秒的事件。如果您启用了长期跟踪,设备的活动会持续保存到设备存储空间,直到达到您设置的限制。

完成这些操作后,可通过停用录制跟踪记录开关来停止跟踪。

系统会显示一条包含消息“Saving trace”的新通知。保存完成后,系统会关闭该通知,并显示第三条通知,确认您的跟踪记录已保存并且您已准备好共享系统跟踪记录,如图 4 所示。

共享系统跟踪记录

System Tracing 应用可帮助您在多个不同工作流中共享系统跟踪结果。在搭载 Android 10(API 级别 29)或更高版本的设备上,跟踪文件会使用 .perfetto-trace 文件扩展名保存,并可在 Perfetto 界面中打开。在搭载较旧 Android 版本的设备上,跟踪文件会使用 .ctrace 文件扩展名(表示 Systrace 格式)保存。

以消息的形式共享

System Tracing 允许您与设备上的其他应用共享您收集到的跟踪记录。这样,您就可以通过电子邮件或 bug 跟踪应用将跟踪记录发送给开发团队,而无需将设备连接到开发机器。

录制完系统跟踪记录后,请点按设备上显示的通知(参见图 4)。此时会显示平台的 intent 选择器,可让您使用所选的即时通讯应用共享您的跟踪记录。

通过 Google 文件极客应用共享

在搭载 Android 10(API 级别 29)的设备上,跟踪记录会显示在 Google 文件极客应用中。如果需要,您可以通过此应用共享跟踪记录。

使用 ADB 下载报告

如果需要,您还可以使用 ADB 从设备中提取系统跟踪记录。将录制跟踪记录的设备连接到开发机器,然后在终端窗口中运行以下命令:

cd /path-to-traces-on-my-dev-machine && \ adb pull /data/local/traces/ . 跟踪记录格式之间的转换

您可以将 Perfetto 跟踪文件转换为 Systrace 格式。如需了解详情,请参阅跟踪记录格式之间的转换。

创建 HTML 报告

共享跟踪记录时,报告本身位于 .perfetto-trace 文件中(在搭载 Android 10 或更高版本的设备上)或 .ctrace 文件(其他所有版本)中。

使用基于网络的界面或命令行利用跟踪文件创建 HTML 报告。

基于网络的界面

使用 Perfetto 界面打开跟踪文件并生成报告。

对于 Perfetto 文件,请点击 Open trace file。对于 Systrace 文件,请点击 Open with legacy UI。旧版界面的外观和风格与 Systrace 报告一样。

命令行

在终端窗口中运行以下命令,以利用跟踪文件生成 HTML 报告:

cd /path-to-traces-on-my-dev-machine && \ systrace --from-file trace-file-name{.ctrace | .perfetto-trace}

如果您还没有 systrace 命令行程序,可以从 GitHub 上的 Catapult 项目中下载,也可以直接从 Android 开源项目中下载。

为您推荐 注意:当 JavaScript 处于关闭状态时,系统会显示链接文字 在持续集成环境中运行基准测试 在命令行上捕获系统跟踪记录


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3