问题标签 [systrace]

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 回答
1542 浏览

android - 安卓模拟器上的 Systrace

我正在尝试在 android 4.2 (avd 17) 模拟器上使用 systrace

我在跟踪选项中启用了 usb debuggimg 并激活了 webview 并在此处遵循本指南http://www.youtube.com/watch?feature=player_embedded&v=Q8m9sHdyXnE#t=31m15s

但是当我尝试在 android 工具目录中使用 ./systrace.py 开始跟踪时,我看到以下输出

有人知道我需要做什么才能使追踪工作吗?

0 投票
12 回答
15033 浏览

android - 无法在 Android SDK 中查看 Systrace 工具生成的 HTML 跟踪报告

我正在尝试使用Android SDK 中的Systrace工具生成跟踪报告,但我无法在浏览器中查看报告。它是空白的,不包含任何信息。我在一些论坛上读到我需要在 Chrome 浏览器中打开报告,我也用 Chrome 打开它但报告是空白的。

我已经从开发人员选项中启用了 USB 调试,并且设备正在运行 Android 4.2,并且我正在使用Android SDK 中的DDMS工具来生成跟踪。

http://developer.android.com/tools/help/systrace.html

0 投票
2 回答
585 浏览

android - 如何将 Android FTrace 精度提高到微秒?

我正在尝试在Android环境中生成FTrace文件,使用:

问题是mytracefile.txt中时间戳的精度以毫秒为单位

通常,它应该以微秒为单位,例如14186.691234而不是14186.690000

我已经测试了我拥有的所有其他trace_clock 选项本地、全局和计数器),但结果始终相同。更改该参数不会更改输出文件中的任何内容。

我仔细阅读了 FTrace 文档,但我不知道还有哪些配置需要更改。

在互联网上搜索我只能找到这个错误报告,但没有解决: http: //lists.linaro.org/pipermail/linaro-dev/2011-February/002720.html

有什么建议吗?

我必须安装内核中的其他模块吗?

更新:

  • 安卓版本:4.2.2
  • 内核 Linux 版本:3.4.7

dmesg输出也显示毫秒精度:

谢谢,

0 投票
1 回答
423 浏览

systrace - systrace 导出为日志格式,如 csv 或文本文件,而不是 html

我们可以将 systrace 输出导出为 CSV 文件,以便我可以解析和生成报告。

0 投票
1 回答
1397 浏览

android - performTraversals 递归的原因,egl 缓冲区交换时间长

我正在使用 systrace 在 Android 4.2.2 上的非根 Nexus 4 上测量我的应用程序的性能。我在报告中看到一些对我来说没有意义的东西,我想知道它们是否可能是 systrace 错误,或者是否有人可能知道这些症状的任何可能的根本原因。

1- 运行结束时在 performTraversals 下的大递归

链接到报告- 请查看运行结束时的大曲线(约 18 秒)。我的理解是 performTraversals 处于框架级别,它在其中绘制用户界面的单个框架。所以对我来说,它下面可能有递归调用是没有意义的。另外因为我在运行结束时得到了这种指数堆叠,我认为这实际上只是运行结束时数据的 systrace 中的一个缺陷。这种递归可行吗?这是什么意思?

2- 在缓冲交换时间长的运行中间执行遍历递归

链接到报告- 从 12 秒左右开始的有趣行为。当我在跑步过程中看到类似的东西时,我觉得也许我不应该把它写下来。此外,当一位同事告诉我忽略它时,我花了很多时间试图找出可能导致如此长的 eglSwapBuffers/queueBuffer (我的应用程序不使用 openGL,只是直接使用框架)的原因,但无济于事因为交换缓冲区总是即时的。可能还有更多吗?这里有什么要调查的吗?

0 投票
3 回答
8477 浏览

android - 在设备上运行 Android systrace

我无法运行名为 systrace.pl 的 Android SDK 工具,因为我收到如下错误:

实际上 /sys/kernel/debug/tracing 目录甚至都不存在。

一项小研究表明我需要使用以下命令启用 debugfs:

之后在那里运行 mount 表明 debugfs 正在运行:

而且我在开发人员设置菜单中启用了跟踪(所有项目)。我在三星 Galaxy S3 上使用库存 ROM 4.1.1。

有很多关于 systrace for Android 的文章,但似乎没有什么可以解决 /sys/kernel/debug/tracing 中没有实际生成文件的问题......

0 投票
2 回答
9046 浏览

android - Android DDMS v22.0.1 无法使用 Droid Razor 4.1.2 生成系统跟踪

我选择了几个跟踪标记,当我运行跟踪时(来自DDMS),我得到以下输出:

error openi(在这里切断错误)

内核目录中确实没有调试文件,但是哪种机制会生成必要的路径?

0 投票
2 回答
4003 浏览

android - Android Systrace 没有这样的文件或目录

这是错误消息

我查看了 systrace.py,似乎文件系统上缺少 legacy_script “systrace-legacy.py”。我已经阅读了有关 stackoverflow 的几篇相关文章,并且我已经将包含 adb 的目录放在了 %PATH% 中。问题依然存在。我写信询问是否有任何方法可以解决这个问题。

0 投票
0 回答
3801 浏览

android - Systrace |Android 4.1.1(Galaxy S3 I747UCDLK3) 上没有 /sys/kernel/debug/tracing 目录

我正在尝试将 Android systrace 工具与我的 Galaxy S3 一起使用,但我遇到了一些问题,似乎是内核问题。

我已经按照这篇文章中描述的步骤进行操作:Failed to use systrace in Jelly Bean

我能够“mount -t debugfs nodev /sys/kernel/debug”,这是“mount”命令的结果:

所以我猜 debugfs 已安装到系统上。但是,我找不到 ftrace 应该所在的 /sys/kernel/debug/tracing 目录。所以这是我在 adb shell 中使用“atrace”命令时遇到的错误:

我浏览了有关 stackoverflow 的几篇文章,在这篇文章中(Can't use Android shell atrace command because of write access)一个答案建议重新编译内核。我们真的必须这样做才能使用 systrace 工具吗?

这篇文章中的一个答案(Unable to run systrace tool on android emulator)提到三星 GS3 实际上可以使用 systrace。我想知道我是否在这里做错了什么。

0 投票
1 回答
1915 浏览

android - 我可以使用 performTraversals 在 Android 上测量 FPS 吗?

我想计算 FPS 以检测基于现有 Android 分析工具的应用程序的性能问题。

我注意到在 Systrace 上,它可以记录 performTraversals 的长度。据我所知,performTraversals 执行测量、布局和绘制,其中包括更新框架时的大部分工作。那么 performTraversals 能否具有足够的代表性来衡量一个帧是否需要 60 毫秒才能更新?

我还注意到 Systrace 记录了在 SurfaceFlinger 上花费的时间。我知道 SurfaceFlinger 用于渲染目的,但我不知道帧的确切起点和终点。我是否还应该考虑花在 SurfaceFlinger 上的时间和帧速率?(虽然我确实观察到 SurfaceFlinger 比 performTraversals 执行的频率更高,这意味着 SurfaceFlinger 可能不一定遵循 performTraversals。它也会在其他场景中触发。)

PS 我知道 sysdump gfxinfo,但它只能记录 128 帧(~2 秒),而我想要的可能会持续更长时间。