跨越可观测性鸿沟|高手们都在用的“火焰图”是什么

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
云拨测,每月3000次拨测额度
简介: 火焰图(Flame Graph)由性能优化大师 Brendan Gregg 发明,和所有其他的 profiling 方法不同的是,火焰图以一个全局的视野来看待时间分布,列出所有可能导致性能瓶颈的调用栈。通过火焰图,可以非常方便的看到性能资源都消耗在了哪里,从而能够直观的看到程序的性能瓶颈,以进行程序的优化。

关键字解析:
火焰图(Flame Graph)由性能优化大师 Brendan Gregg 发明,和所有其他的 profiling 方法不同的是,火焰图以一个全局的视野来看待时间分布,列出所有可能导致性能瓶颈的调用栈。
通过火焰图,可以非常方便的看到性能资源都消耗在了哪里,从而能够直观的看到程序的性能瓶颈,以进行程序的优化。


为了使服务链路追踪可视化更高效,Erda 在微服务治理平台新版本中也引入了火焰图功能,下面我们一起来看看吧~

功能入口

https://www.erda.cloud/ (需要注册账号,如需演示可加入用户交流群获取免费试用资源)

登陆后点击如下模块:

微服务治理平台 - (具体项目) - 诊断分析 - 链路追踪 – 查看详情 – 火焰图

0.gif

进入功能界面:

1.gif

  • X 轴代表调用耗时时间长度
  • Y 轴是函数块叠加而成,有点像程序调试堆栈,代表调用的深度

火焰块 X 轴越长,说明 span 调用耗时越长,可联合其火焰图的纵轴判断是否存在子调用过多或者自身调用过慢的情况,更方便排查请求过程中的业务瓶颈或异常点。

鼠标悬浮

2.gif

火焰的每一层都会标注完整操作名,鼠标悬浮时会显示:

  • 完整的服务名
  • 具体的操作名
  • 调用类型及调用的对象
  • 当前调用耗时
  • 总调用耗时(当前调用耗时 + 子调用耗时)

点击放大

3.gif

在某一层点击,火焰图会水平放大,该层会占据所有宽度,显示详细信息。

火焰图整体功能演示参看视频:

火焰图整体演示

参考链接 & 延伸阅读


更多技术干货请关注【尔达 Erda】公众号,与众多开源爱好者共同成长~

目录
相关文章
|
8月前
|
算法 搜索推荐
串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)
串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)
|
4月前
|
机器学习/深度学习 人工智能 运维
基于图的智能可观察性
基于图的智能可观察性
|
8月前
|
存储 编解码 监控
转:如何利用视频压缩算法优化屏幕监控数据管理
屏幕监控数据的管理就跟整理书房一样,既要提高效率,还要省点存储成本。视频压缩算法就像是书架上的魔法工具,可以在不损坏图画的情况下,把数据量“瘦身”一下,让数据管理变得更轻松。以下是一些利用视频压缩算法优化屏幕监控数据管理的方法——
96 0
|
9月前
|
机器学习/深度学习 存储 边缘计算
转:排列组合公式算法在局域网监控软件中的技术趋势与未来发展
排列组合公式是组合数学中的一种计算方法,用于确定给定集合中元素的不同排列和组合的数量。在局域网监控软件中,排列组合公式可以应用于一些特定的场景,如网络中的用户组合、权限管理、资源分配等方面。
80 0
|
9月前
|
调度
多区域综合能源系统热网建模及系统运行优化(Matlab代码实现)
多区域综合能源系统热网建模及系统运行优化(Matlab代码实现)
100 0
|
9月前
|
监控 算法 计算机视觉
转:九宫图算法对屏幕监控软件的精准度分析及应用场景
九宫图算法(Nine-grid algorithm)是一种用于屏幕监控软件的图像处理算法,通过将屏幕分割成九个等大小的网格区域,并对每个区域进行像素值的分析和比较,从而实现对屏幕图像的精准度分析。
79 0
|
11月前
|
云计算
【技术规划】描绘未来第 4 部分:技术路线图
【技术规划】描绘未来第 4 部分:技术路线图
|
11月前
|
传感器 机器学习/深度学习 算法
CVPR 2023 | 移动传感器引导的跨时节六自由度视觉定位,准确且高效
CVPR 2023 | 移动传感器引导的跨时节六自由度视觉定位,准确且高效
167 0
|
11月前
|
存储 SQL 数据可视化
「数据架构」全级别数据模式建模,宇宙最全面
「数据架构」全级别数据模式建模,宇宙最全面
|
11月前
|
机器学习/深度学习 数据可视化
CVPR2023 | 无需动态区域分割!多帧深度估计新进展:跨线索注意力机制提升动态区域精度
CVPR2023 | 无需动态区域分割!多帧深度估计新进展:跨线索注意力机制提升动态区域精度
280 0