[转帖]netflix火焰圖(profile + 轉為圖像)

netflix,火焰,profile,圖像 · 浏览次数 : 0

小编点评

## 摘要 文章介绍如何使用 lightweight-java-profiler 获取 Java 进程的 profile(类 hprof 格式)并制作火焰图进行分析。 **步骤:** 1. 下载 lightweight-java-profiler 源码。 2. 使用 make 命令生成 build-64/ 目录下的 liblagent.so 文件。 3. 在启动 Java 进程时添加选项 `-agentpath:${上述文件的目錄}`。 4. 生成 traces.txt 文件,即火焰图原始数据。 5. 下载 flamegraph.pl 脚本,并使用它将 traces.txt 文件转换为 svg 格式。 6. 使用浏览器打开 traces.svg 文件进行分析。 **其他信息:** * 文章使用 gregg 大神的 awk 工具制作火焰图,可以使用其他工具也可以生成。 * 生成火焰图时需要带简单的排版。

正文

 


 

使用方法:利用google的lightweight-Java-profiler獲取java進程的profile(類hprof格式),再使用gregg大神的awk工具制作成火焰圖,進行分析。

詳細步驟:(可參見http://www.brendangregg.com/blog/2014-06-12/java-flame-graphs.html)

1. 下載lightweight-java-profiler源碼(官網已失效,github有fork,我的源:https://github.com/hh6plus/lightweight-java-profiler)。

2. make all,如果是64位系統可以make BITS=64 all。通常只需要注意BITS為32或者64即可順利通過,如果有問題,需要編輯Makefile直到能順利編譯。

(在Ubuntu一次過,在Mac端會有坑,如HEADERS變量問題、jvmti.h(屬於jdk)中的變量名首部為下划線問題等)

(在Linux下安裝時,需要注意gcc有版本要求,太低版本不支持foreach的冒號語法,會報錯)

生成build-64/目錄下的liblagent.so,它將作為javaagent被使用。

3. 啟動java進程時,添加選項:java -agentpath:${上述文件的目錄} yourClass。

4. 在結束進程后,將自動生成traces.txt,即火焰圖原始數據。

5. 下載火焰圖處理代碼:https://github.com/brendangregg/FlameGraph,使用根據生成火焰圖(svg格式)

 

[html] view plain copy
  1. cd FlameGraph  
  2. ./stackcollapse-ljp.awk ../traces.txt | ./flamegraph.pl > ../traces.svg  
6. 使用瀏覽器打開traces.svg即可進行分析。y軸代表代碼深度,x軸代表占用時間。

与[转帖]netflix火焰圖(profile + 轉為圖像)相似的内容:

[转帖]netflix火焰圖(profile + 轉為圖像)

本文转载自 ligeforrent 查看原文 2017-06-30 0 file/file/ 运维/运维/ profile/profile/ 图像/图像/ netnet 使用方法:利用google的lightweight-Java-profiler獲取java進程的profile(類hprof格式)

[转帖]Netflix 如何在 7 分钟内完成故障转移

https://www.oschina.net/translate/how-netflix-does-failovers-7-minutes-flat?print 在冬季2012年,Netflix公司遭受了 长时间断电 持续了七个小时,由于在美东地区的AWS弹性负载均衡服务的问题。(Netflix的

[转帖]Reddit用户PoisonWaffle3得到了一台Netflix退役的缓存服务器

[NAS] Reddit用户PoisonWaffle3得到了一台Netflix退役的缓存服务器 [复制链接] 埃律西昂 电梯直达 1# 发表于 2022-10-28 17:57 | 只看该作者 本帖最后由 埃律西昂 于 2022-10-29 08:01 编辑来源: TweakTown Vice Re

[转帖]BPF 拓荒者 —— Brendan Gregg 与 Netflix 的故事

https://www.modb.pro/db/421308 译者写在开头 在我的上一篇文章:Brendan@Intel.com[1] 中,我翻译了他与 Intel 的故事。这次,我们时光倒流一下,说说前传:Brendan Gregg 与 Netflix 的故事。 我写博客的出发点是想把自己所学所思

[转帖]如何在 60秒内优化提升 Linux 性能?只有 2% 的人知道,还不快来学习~

https://bbs.huaweicloud.com/blogs/379243 【摘要】 如何在 60秒内优化提升 Linux 性能?只有 2% 的人知道 当你发现 Linux 服务器上的系统性能问题,在最开始的 1 分钟时间里,你会查看哪些系统指标呢? Netflix 在 AWS 上有着大规模的

[转帖]【混沌工程】 docker环境下模拟网络延迟和丢包

https://cloud.tencent.com/developer/article/1616202?areaSource=&traceId= 原文地址:https://www.chenquan.me/archives/315 混沌工程最早是Netflix引入的,用来验证服务稳定性的工程。地址:h

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww