问题标签 [perfetto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
161 浏览

android - Perfetto Android 跟踪“此跟踪的错误统计信息”

我正在使用Perfetto来分析我的 Android 应用程序。一切正常,我得到了一个跟踪文件,我可以将其转换为 SQLite3 数据库,从中提取测量结果并将结果可视化。

但是,我的跟踪在完成时会引发错误:

在此处输入图像描述

跟踪的设置是:

使用 perfetto UI 配置设置:https://ui.perfetto.dev/#!/record?p=buffers 将说明复制并粘贴到 Mac 上的终端。

知道错误是什么以及如何解决吗?

0 投票
1 回答
274 浏览

android - 谁能帮我在 perfetto/systrace 中找到 UI 渲染时间?

我正在尝试查找 android 中每个 Activity 的 UI 渲染时间。我知道可以使用 systrace 或 perfetto 来分析性能。但问题是从那个巨大的图表中找到 UI 渲染部分。谁能帮我从 systrace 或 perfetto 找到 UI 渲染时间。

0 投票
1 回答
73 浏览

android - 在应用程序中运行 android systrace

我正在尝试开发一个允许用户使用systrace记录系统跟踪的应用程序,我希望能够在常规的 Android 应用程序中运行它,而无需 PC 或 ROOT 访问权限即可使用 ADB。

从 Android 9 开始,有一个从开发人员选项记录系统跟踪的选项,无需任何外部工具即可在设备上完美运行,但我需要对此进行更多控制,因为我将在一段时间内运行 systrace 命令时间然后自动将结果上传到服务器(一切都发生在应用程序中)

有什么办法可以从 Android 应用程序中做到这一点?

我尝试在应用程序中使用 python,然后运行 ​​systrace,但由于找不到 ADB,它失败并出现错误。

0 投票
0 回答
56 浏览

android - 如何在 Perfetto UI 中检查应用程序生命周期,例如一个活动到另一个活动和用户交互部分

如何在 Perfetto UI 中检查应用程序生命周期,例如一个活动到另一个活动和用户交互部分。

完美的用户界面

0 投票
0 回答
84 浏览

android - 如何删除perfetto写的痕迹

我正在使用以下命令使用 perfetto 跟踪我的 Android 设备(Redmi 9a)。

adb shell perfetto -o /data/misc/perfetto-traces/trace_file.perfetto-trace -t 20s sched freq idle am wm gfx view

我正在使用自动化在设备上运行我的测试并收集跟踪。我在跟踪文件名中添加了随机数前缀。这样,多个大文件就会添加到我的设备中。

我无法删除这些文件,它说权限被拒绝,我无法将跟踪文件写入 /sdcard

请帮我解决这个问题

0 投票
3 回答
266 浏览

android - Systrace 自定义事件未显示在应用程序的发布版本中

我正在使用 systrace/perfetto 来捕获跟踪。我正在按照以下方式从我的代码中添加自定义事件 - https://developer.android.com/topic/performance/tracing/custom-events

我可以在调试版本中看到自定义事件,但在发布版本中看不到。

无论如何我可以在我的应用程序的发布版本中看到自定义事件

0 投票
1 回答
66 浏览

android - 我可以使用 Perfetto 为我的应用收集网络流量吗?

我想保存各种跟踪或指标。这样做的原因是比较我的应用程序每个版本的性能。

我想使用Perfetto命令行工具来收集指标并将它们转换为 json 格式并上传到我的数据库。

我可以在 Perfetto 上找到 cpu、mem 和功率指标,但我找不到网络指标。

仅供参考,如果是 Android 工作室。如下图所示,我可以从我的应用程序中捕获网络指标。

在此处输入图像描述

0 投票
0 回答
31 浏览

perfetto - 如何在 Perfetto traceviewer SQL 上打印 protobuf 结构

跟进我之前的问题:如何在 Android Profiler 输出中查找主线程等待后台线程持有的锁的所有事件,我发现 Perfetto 提供了这些数据。它还具有类似 SQL 的接口,用于进一步查询。尽管我能够在 Perfetto UI 上找到一个或两个实例,但我想编写一个查询来查找所有可能出现的主线程空闲或等待锁定的情况。

为此,我正在探索似乎有一些预建查询的Perfetto 指标部分。

但是它会打印原始字节,因为这是 protobuf 对象。我尝试按照Perfetto 指标按照教程来打印 protobuf,但无法找出解决方案。

这是我尝试过的

有人知道我错过了什么吗?我也尝试了 python API 并遇到了同样的问题。我没有编译可用于反序列化的 protobuf 结构(尽管编译一个可能不是那么大的任务)。Q1) 我如何打印 protobuf 对象 Q2) 绘制主线程空闲或争用直到第一帧的所有事件的快速方法是什么?

0 投票
0 回答
21 浏览

android - 如何在 perfetto 中捕获 android 应用程序的系统调用?

有什么方法可以跟踪使用 perfetto ui 的任何应用程序的系统调用?

附言。我已经植根了我的设备(三星 Galaxy s10e)。

0 投票
1 回答
39 浏览

javascript - 如何以非交互方式使用 ui.perfetto.dev 打开 chrome 跟踪文件?

我生成 chrome 跟踪文件并从脚本中以非交互方式打开它们。但是,我不想使用默认的 chrome://tracing 页面,而是使用我觉得更方便的https://ui.perfetto.dev 。

唯一的问题是它是一个交互式过程——我需要打开文件对话框并从那里选择跟踪文件,然后显示该文件中的跟踪。这里没有网络流量,纯 Javascript。

但也许还有另一种方法可以在https://ui.perfetto.dev中打开可以编写脚本的跟踪文件?或者也许有另一个网站提供相同类型的 GUI,但也满足我的要求?

通过编写脚本,我的意思是我想运行一个带有跟踪文件的脚本,因此默认浏览器会打开跟踪页面。