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

本文涉及的产品
可观测链路 OpenTelemetry 版,每月50GB免费额度
性能测试 PTS,5000VUM额度
应用实时监控服务ARMS - 应用监控,每月50GB免费额度
简介: 火焰图(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】公众号,与众多开源爱好者共同成长~

目录
相关文章
|
27天前
|
监控 Go 数据处理
iLogtail 进化论:重塑可观测采集的技术边界
iLogtail 作为一款开创性的轻量级日志采集器,历经 13 载风雨,始终致力于高效地从多元化的数据源中萃取、处理可观测信息,并无缝传输至阿里云日志服务或各类日志分析平台。今年,适逢 iLogtail 开源两周年的里程碑时刻,我们将回顾 iLogtail 的技术演进之路,领略其不断突破边界、引领可观测采集未来的创新力量。
|
5月前
|
数据可视化
R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
|
算法 搜索推荐
串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)
串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)
|
5月前
[贴装专题] 贴装流程中涉及到的位置关系计算
[贴装专题] 贴装流程中涉及到的位置关系计算
54 0
|
算法 新能源 调度
【二阶锥规划】考虑气电联合需求响应的气电综合能源配网系统协调优化运行【IEEE33节点】(Matlab代码实现)
【二阶锥规划】考虑气电联合需求响应的气电综合能源配网系统协调优化运行【IEEE33节点】(Matlab代码实现)
【二阶锥规划】考虑气电联合需求响应的气电综合能源配网系统协调优化运行【IEEE33节点】(Matlab代码实现)
消防训练成员整体雷达图 eharts
消防训练成员整体雷达图 eharts
37 0
|
调度
多区域综合能源系统热网建模及系统运行优化(Matlab代码实现)
多区域综合能源系统热网建模及系统运行优化(Matlab代码实现)
179 0
|
机器学习/深度学习 人工智能 自然语言处理
中山大学团队使用端到端图生成架构进行分子图编辑的逆合成预测
中山大学团队使用端到端图生成架构进行分子图编辑的逆合成预测
164 0
|
云计算
【技术规划】描绘未来第 4 部分:技术路线图
【技术规划】描绘未来第 4 部分:技术路线图
|
存储 SQL 数据可视化
「数据架构」全级别数据模式建模,宇宙最全面
「数据架构」全级别数据模式建模,宇宙最全面