在chrome:// tracing中手动加载json

时间:2018-03-07 08:55:11

标签: google-chrome chromium tracing

我有跟踪事件JSON数据,我想使用chrome://tracing查看它。但是,我不想每次都加载JSON。

有没有办法可以将JSON数据传递给chrome://tracing,这样无需手动点击加载数据,我的所有数据都会被加载?

3 个答案:

答案 0 :(得分:2)

Trace-viewer工具目前以3种方式加载JSON文件:

  • 录制新曲目时
  • 在文件被选中后,通过加载按钮加载文件
  • 文件拖放到标签中时(拖放)

所有这些都会对活动跟踪执行一次性更新。

技术细节

查看profiling_view并注意

 tr.ui.b.readFile(file).then(
 ...
    this.setActiveTrace(file.name, data);

以及来自beginRecording,onLoadClicked_和dropHandler_的 setActiveTrace 调用的一些变体。

解决方案建议

是的,有几种方法可以将json数据传递给chrome://跟踪(即跟踪查看器),而无需手动点击加载数据

取决于您想要投入多少精力:

  1. 不要手动点击加载,而是拖放文件
  2. 自动化拖动& drop(example with selenium)基于监视JSON文件更改的脚本
  3. 根据文件更改自动加载
  4. Contribute to Trace Viewer yourself并添加此功能。请参阅the tracing ecosystem explainercontributing。请注意,它现在是GitHub中Catapult项目的一部分。
  5. 请参阅fswatch - a cross-platform file change monitor.

答案 1 :(得分:0)

this GopherCon video显示了我猜的另一种解决方案,即将可能包含嵌入式Javascript的HTML页面加载到浏览器中,以“加载”跟踪文件。尽管我怀疑不是来自磁盘文件,而是直接通过自定义http服务器“提供”服务。

答案 2 :(得分:0)

如果您可以放宽使用Chrome-Tracing打开它的要求,那么这是一个解决方案。 Speedscope是一个很好的替代品,可以从命令行轻松启动。

  

要脱机使用或在终端中使用方便,还可以通过npm安装speedscope:

npm install -g speedscope
     

调用speedscope / path / to / profile将在您的默认浏览器中加载speedscope。 Source

speedscope <my-chrome-tracing.json>打开文件。

enter image description here

Speedscopes提供不同的视图,但有时与Chrome-Tracing提供的视图不同。因此,它可能不是所有用例的正确选择。