加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang FlameGraph(火焰图)

发布时间:2020-12-16 09:33:04 所属栏目:大数据 来源:网络整理
导读: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)

1.安装组件

  1. 安装go-torch
    go get github.com/uber/go-torch
  2. 安装 FlameGraph
    cd $WORK_PATH && git clone https://github.com/brendangregg/FlameGraph.git
    export PATH=$PATH:$WORK_PATH/FlameGraph-master
  3. 安装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 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读