之前一直研究過golang 的 pprof的性能分析,但是沒搞出火焰圖,后面查了一些資料學(xué)會(huì)了生成火焰圖。
今天我就用直接簡(jiǎn)單暴力的方式的教程來說明怎么用Golang的pprof監(jiān)控和生成火焰圖。
一.在代碼里面寫監(jiān)聽接口口。
#必須要 import "net/http/pprof"
go func() {
if err := http.ListenAndServe("0.0.0.0:6060", nil); err != nil {
fmt.Println("0.0.0.0:6060", err.Error())
}
}()
如下圖所示:
二.運(yùn)行程序。
三.查看pprof性能
① 訪問 http://localhost:6060/debug/pprof/
②如果你不想使用網(wǎng)頁的交互模式,可以再終端使用以下命令,當(dāng)然每次都是新數(shù)據(jù):
#查看堆信息
go tool pprof --text http://localhost:6060/debug/pprof/heap
結(jié)果如下:
一、Go torch
go-torch是Uber公司開源的一款針對(duì)Go語言程序的火焰圖生成工具,能收集 stack traces,并把它們整理成火焰圖,直觀地程序給開發(fā)人員。
go-torch是基于使用BrendanGregg創(chuàng)建的火焰圖工具生成直觀的圖像,很方便地分析Go的各個(gè)方法所占用的CPU的時(shí)間, 火焰圖是一個(gè)新的方法來可視化CPU的使用情況,本文中我會(huì)展示如何使用它輔助我們排查問題。
二、安裝
FlameGraph 是profile數(shù)據(jù)的可視化層工具,已被廣泛用于Python和Node
git clone https://github.com/brendangregg/FlameGraph.git
cp flamegraph.pl /usr/local/bin
有了flamegraph的支持,我們接下來要使用go-torch展示profile的輸出,而安裝go-torch很簡(jiǎn)單,我們使用下面的命令即可完成安裝
go get -v github.com/uber/go-torch
①go-torch -h 查看幫助,如下:
② 程序跑起來,執(zhí)行g(shù)o-torch如下:
#采集60秒的數(shù)據(jù),在當(dāng)前目錄下生成cpu.svg文件
go-torch -u http://127.0.0.1:6060 --seconds 60 -f cpu.svg
③打開svg文件,查看火焰圖,如下:
參考文章:
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
文章標(biāo)題:Golang使用pprof監(jiān)控性能-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://aaarwkj.com/article40/dpgjho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、虛擬主機(jī)、App設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容