IT商业科技网

程序员神器:Netflix发布开源可视化工具

来源:丫丫    时间:2018-04-28 16:31:12    36氪

FlameScope 是Netflix 开源的一款性能可视化工具,用于分析方差,扰动,单线程执行,应用程序启动以及其他基于时间的问题,将大大简化操作流程,使工作量更为直观。本文译自 MEDIUM?中原标题为 "Netflix FlameScope"?的文章。

FlameScope 是以火焰图的形式来进行可视化,它首先将输入的数据显示为交互式亚秒偏移热图,然后根据时间范围选择来着重显示不同的图案,并且会为该时间范围生成火焰图。换句话说,你可以选择一个任意连续的时间切片捕获的配置文件,并将其视为火焰图形。

亚秒偏离热图

亚秒偏移热图的工作原理如图所示,它有一个模拟十行热图,其中 x 轴表示时间,每个单位代表一秒钟。y 轴也是时间变量,表示次秒级的偏移量。其中颜色的变化代表在该时间范围内样本的多少,颜色越深越密集。

例如,一个11.25秒的事件时间戳,其 x坐标将为第11列,而 y 坐标将距离底部四分之一处。在11.25秒左右发生的事件越多,该部分的颜色将越暗沉。

选取范围示例

如下为选取范围示例。

火焰图会一次性显示整个配置文件,时长为一分钟。这对于分析稳定的工作量是十分便捷的,但通常在显示的一分钟内会有一些小的扰动,若要在其中抓住这些细微的变化无异于是大海捞针。而 Flame Scope 则通过从亚秒偏移热图来进行可视化,轻而易举地解决了这些由微小扰动带来的问题,之后用户可以再继续选择用火焰图进行学习。换句话说,用户借此可以选择一个任意连续的时间切片进行配置文件的选取,并将其可视化为火焰图。

此 CPU?配置文件中有诸多内容,CPU 在0到5秒之间较为繁忙,呈现为较暗的颜色,在34和94秒的周围(类似60秒周期性任务)也较为繁忙,但持续时间较短。其中大约80毫秒内偶尔会出现大量活动的爆发,其均呈现出较短的深红色条纹。

所有这些细节都可以在 FlameScope 中选择,然后将该范围绘制为火焰图,下图就是一个简短的红色条纹选择图。

FlameScope 可以读取 Linux perf 配置文件,我整理了一些之前调查中收集的情况,其中也显示了一些我不知道的变化。

当然并非所有配置文件都很有趣。有些看起来像静态电视,具有随机请求的稳定工作量及延迟量。

创始

FlameScope 由 Netflix 云性能团队创建,迄今为止主要创始人为 Vadim Filanovsky,我,Martin Spier 和我们的经理Ed Hunter,他一直支持该项目。该项目最初的问题是微服务故障,每隔15分钟左右就会出现延迟尖峰,且原因不明。 Vadim 发现这伴随着 CPU 利用率的增长,且只持续了几秒钟。他曾尝试收集 CPU 火焰图表以进一步解释这一点,但却无法可靠地捕捉到一分钟的火焰图来解释该问题,因为它的运行持续波动着;同时,捕捉两三分钟的火焰图也没有帮助,并且这个问题在正常的工作量配置文件中被"淹没"了,于是他向我求助。

由于我有两分钟的文件,我将它切成10秒的范围,并为每个范围创建一个火焰图。这种方法看起来很有作用,因为它揭示了其中的变化,于是我把它们进一步切割到了一秒钟的窗口。浏览这些短窗口来发现并解决问题其实是一项艰巨的任务,所以我想要一个更快的方法。由于亚秒偏移热图是我多年前发明的工具,但迄今为止还没有太多的应用。所以我突然意识到这也许是浏览配置文件的好方法,可以让变化不仅在整秒内可视化,而且可以在一秒钟内显示分数。

我马上做了一个快速的模型来证明这个想法的有效性,并与 Martin 一起讨论将其变成一个真正的工具。这篇文章中带注释的热图显示了 Vadim 的原始配置文件,主要问题聚焦于 CPU 在前几秒的活动。Martin 为 FlameScope 完成了大部分体系结构设计和编码工作,其中包括他最新版本的FlameGraphs:d3-flame-graph 和基于 d3 的热图:d3-heatmap2。

未来工作

我们计划应用更多的功能,并且我们会向 github 发布门票来方便任何愿意提供帮助的人。未来该项目将会涵盖更多的交互功能,如调色板的选择和数据转换,也会有一个按钮来将最终的火焰图保存为独立的 SVG,来支持其他配置文件源的使用,而不仅仅是 Linux perf。同时我们也在致力于寻找一种方法来显示所选范围和基线(整个配置文件)之间的差异。

【责任编辑:夏雪】

声明:来源非IT商业科技网的作品均转载自其它媒体,转载请尊重版权保留出处,一切法律责任自负。文章内容仅供阅读,不构成投资建议,请谨慎对待。投资者据此操作,风险自担。

频道精选
ARMGPU漏洞暴露安卓升级困局,谷歌Project Zero团队谴责厂商偷懒行

ARMGPU漏洞暴露安卓升级困局,谷歌Project Zero团队谴责厂商偷懒行

谷歌的ProjectZero团队的终极目标是消除世界上所有的零日漏洞,而鉴于近期爆发的ARMGPU漏洞
ARM 手机 GPU 漏洞 谷歌
决战辅助驾驶下半场 极狐、长城、小鹏等车企角逐城市NOA

决战辅助驾驶下半场 极狐、长城、小鹏等车企角逐城市NOA

今年下半年以来,小鹏、极狐、吉利、长城等车企纷纷推出搭载城市 NOA功能产品。
极狐 长城 小鹏 汽车
三星Galaxy S23 Ultra或搭载超声波指纹解锁:识别精度更高更安全

三星Galaxy S23 Ultra或搭载超声波指纹解锁:识别精度更高更安全

随着第二代骁龙8旗舰芯片的正式亮相,一大波搭载该芯片的顶级旗舰很快就将迎来第一波大混战
三星 通信 超声波
分手在即 网易给玩家发问卷调查:你还会玩暴雪游戏吗?

分手在即 网易给玩家发问卷调查:你还会玩暴雪游戏吗?

据官方介绍,2023年1月24日0时起,正式停止暴雪游戏产品的运营,关闭战网登录以及所有游戏服务器,同时关闭客户端下载。
网易 游戏 暴雪游戏
软银研发出以无人机探测灾害被埋者手机信号的技术

软银研发出以无人机探测灾害被埋者手机信号的技术

日本软银现公布了一项新技术,可通过小型无人机探测灾害中被沙土瓦砾掩埋者的智能手机信号并锁定位置。
软银 互联网 手机信号
马斯克:若推特被谷歌苹果下架 将生产属于自己的智能手机

马斯克:若推特被谷歌苹果下架 将生产属于自己的智能手机

据国外媒体报道,马斯克在推特回复网友称,如果谷歌和苹果将推特从应用商店中移除,他将生产一款自己的智能手机作为替代品。
马斯克 手机 谷歌 智能手机
消息称美国FTC可能提起诉讼,阻止微软以690亿美元收购动视暴雪

消息称美国FTC可能提起诉讼,阻止微软以690亿美元收购动视暴雪

据Politico周三援引三位知情人士的话报道,美国联邦贸易委员会(FTC)可能会提起反垄断诉讼,以阻止微软公司对视频游戏发行商动视暴雪公司以690亿美元进行收购。
微软 互联网 动视暴雪
挖台积电墙角 三星3nm喜迎4大客户:百度也有参与

挖台积电墙角 三星3nm喜迎4大客户:百度也有参与

三星也在想办法提升良率,不过更关键的还是如何拉到大客户,韩国媒体表示三星在这方面也不是没有进展,除了三星自己的芯片部门,还锁定了四大客户。
台积电 通信 百度 三星
两大服饰“抄袭惯犯”对簿公堂:江南布衣诉森马开庭,同病相

两大服饰“抄袭惯犯”对簿公堂:江南布衣诉森马开庭,同病相

昨日,江南布衣服饰与浙江森马服饰的案件开庭了。双方就著作权权属、侵权及不正当竞争纠纷,对簿公堂。
江南布衣 互联网 森马
氢燃料电池汽车在韩国已注册2.7万辆 在新能源汽车中占近2%

氢燃料电池汽车在韩国已注册2.7万辆 在新能源汽车中占近2%

据国外媒体报道,在发展新能源汽车的浪潮中,除了混合动力汽车和纯电动汽车,通过氢与氧的化学反应而产生电能进而驱动车辆的氢燃料电池汽车。
氢燃料 汽车 新能源汽车

2017-2019 Copyright © IT商业科技网 备案许可证号豫ICP备18040629号 豫公网安备110102003388号

技术支持:沿亮云科技