java火焰_现代化的Java(十三)——火焰图

如果你问我最喜欢的Clojure工具,前五名的话一定会有 Clojure 的火焰图工具 Flames [jstepien/flames] 。

火焰图对于现代的程序员不应该陌生,这个工具可以非常直观的显示出调用栈中的CPU消耗瓶颈:

火焰图工具几乎都是由同一组底层工具支撑的,大部分都遵循:Profile->收集 Profile 日志 -> 生成火焰图 -> 分析问题的流程,但是这个 Clojure 库,却可以近乎实时的生成火焰图,提供实时查看,能够极大的提高工作效率。

实用它只需要引入依赖:

[flames "0.4.0"]

然后在项目里写几行代码:

(require '[flames.core :as flames])

(defflames (flames/start! {:port 54321, :host "localhost"}))

非常简单直观。

需要注意的是,与其它大部分火焰图工具一样,这个库也是在底层依赖一组基于 Perl 的性能剖分工具来生成图表,所以在windows上可能会遇到类似“找不到 perl”这样的错误提示。但是它在 MacOS 和 Linux上都没有任何问题。

图形是 svg,每个函数可以点击进去查看局部的调用栈,项目比较大的时候,往往会看到应用逻辑被画在一个尖细的高峰中,此时这个功能就很体贴了。

后面的章节中,如果我们构建了比较适合展示性能剖分过程的场景,就向大家演示一下这个工具具体使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值