如何使用 ui.perfetto.dev 非交互式打开 chrome 跟踪文件?
How to open a chrome trace file with ui.perfetto.dev non interactively?
我生成 chrome 跟踪文件并通过脚本以非交互方式打开它们。但是,我不想使用默认的 chrome://tracing 页面,而是使用我觉得更方便的 https://ui.perfetto.dev。
唯一的问题是它是一个交互式过程 - 我需要打开文件对话框并从那里 select 跟踪文件,然后显示该文件中的跟踪。这里没有网络流量,纯Javascript.
但也许还有另一种方法可以在 https://ui.perfetto.dev 中打开可以编写脚本的跟踪文件?或者也许有另一个站点提供相同类型的 GUI,但也满足我的要求?
我所说的脚本是指我想 运行 一个带有跟踪文件的脚本,因此默认浏览器会打开跟踪页面。
看看 tools/record_android_trace 在这里做了什么:
https://github.com/google/perfetto/blob/master/tools/record_android_trace#L345
基本上你可以通过以下方式实现:
通过 HTTP 提供文件(必须是端口 9001 以满足 ui.perfetto.dev 内容安全策略)
打开https://ui.perfetto.dev/#!/?url=http://127.0.0.1:9001/file.trace
url= 参数将导致 UI 代码自动从您的本地 Web 服务器获取跟踪。你可以在GET请求完成后马上杀掉它。
我生成 chrome 跟踪文件并通过脚本以非交互方式打开它们。但是,我不想使用默认的 chrome://tracing 页面,而是使用我觉得更方便的 https://ui.perfetto.dev。
唯一的问题是它是一个交互式过程 - 我需要打开文件对话框并从那里 select 跟踪文件,然后显示该文件中的跟踪。这里没有网络流量,纯Javascript.
但也许还有另一种方法可以在 https://ui.perfetto.dev 中打开可以编写脚本的跟踪文件?或者也许有另一个站点提供相同类型的 GUI,但也满足我的要求?
我所说的脚本是指我想 运行 一个带有跟踪文件的脚本,因此默认浏览器会打开跟踪页面。
看看 tools/record_android_trace 在这里做了什么: https://github.com/google/perfetto/blob/master/tools/record_android_trace#L345
基本上你可以通过以下方式实现:
通过 HTTP 提供文件(必须是端口 9001 以满足 ui.perfetto.dev 内容安全策略)
打开https://ui.perfetto.dev/#!/?url=http://127.0.0.1:9001/file.trace
url= 参数将导致 UI 代码自动从您的本地 Web 服务器获取跟踪。你可以在GET请求完成后马上杀掉它。