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 即可看到火焰图

详细内容参考: