Golang pprof詳解


go的pprof包

go中有pprof包來做代碼的性能監控,在兩個地方有包:

net/http/pprof

runtime/pprof

其實net/http/pprof中只是使用runtime/pprof包來進行封裝了一下,並在http端口上暴露出來.

 

本篇只講如何在web上查看性能。

一、代碼部分

1.import 增加net/http/pprof包   

import(
    _ net/http/pprof
)

 

2. 打開http 監聽端口

go func() {
        log.Println(http.ListenAndServe("localhost:10000", nil)) 
}()

 

二、網頁上查看

*瀏覽器可以打開 http://127.0.0.1:10000/debug/pprof/ 可以查看各種profile索引

 

1.如果安裝過graphviz直接提交過這步驟,否則可以到 http://www.graphviz.org/download/下載,並把bin加入到環境變量

2.查看profile :在命令行輸入 

go tool pprof http://localhost:10000/debug/pprof/profile

此后的30秒進入收集profile信息的狀態。

30秒后進入pprof的交互模式,然后輸入

web

然后瀏覽器自動彈開到網頁展示svg圖

 

3.查看已經保存的profile文件

go tool pprof profile C:\Users\user\pprof\pprof.samples.cpu.004.pb.gz

 

然后也是進入pprof的交互模式,然后輸入web

 

還可以查看heap和goroutine

go tool pprof http://localhost:10000/debug/pprof/heap
go tool pprof http://127.0.0.1:10000/debug/pprof/goroutine 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM