51.Golang FlameGraph(火焰圖)

1.安裝組件

  1. 安裝go-torch
    go get github.com/uber/go-torch
  2. 安裝 FlameGraph
    cd $WORK_PATH && git clone https://gitee.com/mirrors/FlameGraph.git
    export PATH=$PATH:$WORK_PATH/FlameGraph
  3. 安裝graphviz
    yum install graphviz(CentOS, Redhat)

2.代碼修改

package main

import (
    "net/http"
    "net/http/pprof"
)

func main() {
    // 主函數(shù)中添加
    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.查看結(jié)果

運行上述程序后,使用如下命令生成CPU火焰圖:
go-torch -u http://localhost:8888/debug/pprof/ -p > profile-local.svg

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容