1 Star 0 Fork 0

hibari1015/pprof_analysis

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.go 862 Bytes
一键复制 编辑 原始数据 按行查看 历史
liulijie.1015 提交于 2022-01-16 17:59 . pprof快速分析
package main
import (
"fmt"
"net/http"
_ "net/http/pprof"
"os"
"os/exec"
"code.byted.org/gopkg/logs"
)
var heap int = 1
func init() {
go func() {
http.ListenAndServe("0.0.0.0:8080", nil)
}()
}
func pprof() {
go func() {
http.ListenAndServe("0.0.0.0:8080", nil)
}()
}
func DownloadHeapAnalysis(fileType string, cate string) {
cmd := exec.Command("go", "tool", "pprof", "-"+fileType, "http://localhost:8080/debug/pprof/"+cate)
bytes, err := cmd.CombinedOutput()
if err != nil {
logs.Info(err.Error())
return
}
start := 0
for i := 0; ; i++ {
if string(bytes[i]) == "g" && string(bytes[i+1]) == "z" {
start = i + 3
break
}
}
f, err := os.OpenFile(fmt.Sprintf("heap%d.png", heap), os.O_CREATE|os.O_WRONLY, 0777)
defer func() {
f.Close()
}()
if err != nil {
logs.Info(err.Error())
return
}
f.Write(bytes[start:])
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hibari1015/pprof_analysis.git
git@gitee.com:hibari1015/pprof_analysis.git
hibari1015
pprof_analysis
pprof_analysis
master

搜索帮助