Golang FlameGraph(火焰圖)
1.安裝元件
- 安裝go-torch
go get github.com/uber/go-torch - 安裝 FlameGraph
cd $WORK_PATH && git clone https://github.com/brendangregg/FlameGraph.git
export PATH=$PATH:$WORK_PATH/FlameGraph-master - 安裝graphviz
yum install graphviz(CentOS, Redhat)
2.程式碼修改
package main
import (
"net/http"
"net/http/pprof"
)
func main() {
// 主函式中新增
go func() {
http.HandleFunc("/debug/pprof/block", pprof.Index)
http.HandleFunc("/debug/pprof/goroutine", pprof.Index)
http.HandleFunc("/debug/pprof/heap", pprof.Index)
http.HandleFunc("/debug/pprof/threadcreate", pprof.Index)
http.ListenAndServe("0.0.0.0:8888", nil)
}()
var finishWaiter chan int
<-finishWaiter
}
3.檢視結果
執行上述程式後,使用如下命令生成CPU火焰圖:
go-torch -u http://localhost:8888/debug/pprof/ -p > profile-local.svg
效果圖如下:
profile-local.png
生成記憶體火焰圖:
go-torch -u http://localhost:8888/debug/pprof/heap -p > heap-local.svg
效果圖如下:
heap-local.png
作者:zr_hebo
連結:https://www.jianshu.com/p/1e784c387f45
相關文章
- 火焰圖(perf+ FlameGraph)
- Golang火焰圖Golang
- Chrome 火焰圖Chrome
- perf/Simpleperf 生成火焰圖
- 大話火焰圖(flame graph)
- Linux程式效能分析和火焰圖Linux
- Flame Graph 火焰圖分析 Java 效能Java
- go效能調優之火焰圖Go
- Linux下用perf生成火焰圖方法Linux
- perf及火焰圖的使用,效能分析
- systemtap和火焰圖學習筆記筆記
- Linux火焰圖效能分析文章及視訊演示Linux
- 又一款效能監控利器——火焰圖
- 使用火焰圖進行Java應用效能分析Java
- 效能工具perf的用法以及如何繪製效能火焰圖
- linux 效能調優工具perf + 火焰圖 常用命令Linux
- 容器化 RDS:藉助火焰圖定位Kubernetes效能問題
- 深度學習框架火焰圖pprof和CUDA Nsys配置指南深度學習框架
- golang 技術圖Golang
- 程式設計師精進之路:效能調優利器--火焰圖程式設計師
- 如何讀懂火焰圖?+ 例項講解程式效能優化優化
- golang 合成的圖片Golang
- IntelliJ IDEA 新版釋出:支援CPU火焰圖,新增酷炫主題IntelliJIdea
- CSS 火焰?不在話下CSS
- webgl實現火焰效果Web
- 【遊戲設計圖形學】模擬自然界火焰的方法遊戲設計
- Rust效能分析之測試及火焰圖,附(lru,lfu,arc)測試Rust
- 火焰之紋章系列編年史:“火焰紋章”和它的製作人們
- golang 生成圖片驗證碼Golang
- 圖解Golang垃圾回收機制!圖解Golang
- Golang 圖片處理 — image 庫Golang
- [圖書] Golang 優質開源圖書推薦Golang
- 跨越可觀測性鴻溝|高手們都在用的“火焰圖”是什麼
- 圖解Golang的GC演算法圖解GolangGC演算法
- 煙霧火焰識別系統
- [吐血整理]超全golang面試題合集+golang學習指南+golang知識圖譜+成長路線Golang面試題
- ShaderWeaver使用教程5-火焰製作
- 《火焰紋章》系列入坑玩法指南