SpeedScope-基于Web的快速交互式性能分析查看器

2020-10-28 06:40:46

基于Web的快速交互式查看器,用于查看性能配置文件。FlameGraphs的替代查看器。将愉快地显示多兆字节的配置文件,而不会使您的浏览器崩溃。

给定原始的性能分析数据,SpeedScope允许您以交互方式浏览数据,以深入了解应用程序中速度慢的地方,或者分配所有内存,或者性能分析数据中表示的任何数据。

访问https://www.speedscope.app,,然后浏览查找配置文件或将其拖放到页面上。配置文件不会上传到任何地方--应用程序完全在浏览器中。

如果您没有安装npm或node,您也可以从https://github.com/jlfwong/speedscope/releases.After下载一个自包含版本。您可以从发行版下载压缩文件,只需将其解压缩,然后在Chrome或Firefox中打开包含的index.html即可。

SpeedScope旨在为不同的编程语言和环境从各种不同的分析器获取配置文件。有关如何从特定来源导入的文档,请单击以下链接。

欢迎投稿以增加对其他格式的支持!请参阅";import source";标签的问题。

要通过URL加载特定的配置文件,您可以附加一个散列片段,如#profileURL=[URL编码的配置文件URL]&;title=[URL编码的自定义标题]。请注意,托管配置文件的服务器必须配置CORS以允许来自SpeedScope的Ajax请求。

在时间顺序视图(默认)中,调用堆栈按照它们在输入文件中出现的顺序从左到右排序,这通常是记录它们的时间顺序。此视图对于理解应用程序随时间的行为最有帮助,例如,首先从数据库获取数据,然后为序列化做好准备,然后将数据序列化为JSON";。

横轴表示每个堆栈的权重(最常见的是CPU时间),而垂直轴显示样本时处于活动状态的堆栈。如果您点击其中一个框架,您将能够看到关于它的汇总统计信息。

在左侧重型视图中,无论是否按顺序录制相同的堆栈,都会将它们组合在一起。然后,对堆栈进行排序,以便每个父级的最重堆栈在左侧--因此";左边是重的";。此视图有助于了解在其他调用堆栈之间交错了数百或数千个函数调用的情况下,所有时间都在哪里。

三明治视图是一个表格视图,您可以在其中找到所有函数及其关联时间的列表。您可以按自身时间或总时间排序。之所以称为三明治视图,是因为如果您选择表中的某一行,就可以看到选定Drow的所有调用者和被调用者的火焰图。

一旦加载了配置文件,主视图就会一分为二:顶部区域是小地图,底部区域是堆栈视图。

你想为SpeedScope做贡献吗?亲爱的。有关设置开发环境的说明,请查看CONTRIBUTING.md。