1、注入代码(分别在脚本的开始和结束注入下面两段代码)
cpuProfile := "cpu.pprof"
memProfile := "mem.pprof"f, err := os.Create(cpuProfile)
if err != nil {
log.Fatal(ctx, "%+v", err)
}
pprof.StartCPUProfile(f)
defer pprof.StopCPUProfile()
f, err = os.Create(memProfile)
if err != nil {
log.Fatal(ctx, "%+v", err)
}
pprof.WriteHeapProfile(f)
f.Close()
2、执行脚本
3、执行命令: go tool pprof cpu.pprof
go tool pprof cpu.pprof
File: init
Type: cpu
Time: May 30, 2023 at 6:03pm (CST)
Duration: 375.57s, Total samples = 543.06s (144.60%)
Entering interactive mode (type "help" for commands, "o" for options)
(pprof) svg
Generating report in profile003.svg
(pprof)
4、打开 profile003.svg 即可看到火焰图
详细内容参考: