IDEA 中使用火焰图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA 中使用火焰图相关的知识,希望对你有一定的参考价值。
参考技术A IntelliJ IDEA 与以下分析工具集成:选择 【 Run 'xxx' with 'Java Flight Recorder' 】
会出现如下错误:
在 VM options 中添加 -XX:+UnlockCommercialFeatures 参数。
在【Profiler】窗口点击【Stop Profiling and Show Results】
然后就可以看到结果。
F4 调转到源码:
假设 testMethod() 方法执行耗时太长,我们需要排查时间花费在哪里。
排查步骤如下所示:
通过【Flame Graph】可以看出, java.util.Random#nextBytes 调用栈的采样率为 99.43% 。表示 CPU 大部分时间都在执行 java.util.Random#nextBytes 函数。和预期一致!
perf生成火焰图使用简记
引言
perf 是linux提供的一个免费profile工具。
比较全面的一个教程是:brendangregg
perf生成记录
1.生成perf数据:
sudo perf record -g ls
2.读取perf.data,输出trace
sudo perf script -i perf.data > perf.unfold
3.压缩栈
这里用到了火焰图工具:https://github.com/brendangregg/FlameGraph
stackcollapse-perf.pl perf.unfold > perf.folded
4.生成svg文件
flamegraph.pl perf.folded > ls.svg
以上是关于IDEA 中使用火焰图的主要内容,如果未能解决你的问题,请参考以下文章