package util import ( "log" "os" "runtime/pprof" ) type Pprof struct { fc *os.File fm *os.File } func NewProf() *Pprof { fc, err := os.Create("./cpu.prof") if err != nil { log.Fatal(err) } fm, err := os.Create("./men.prof") if err != nil { log.Fatal(err) } p := &Pprof{ fc: fc, fm: fm, } p.Start() return p } func (p *Pprof) Start() { pprof.StartCPUProfile(p.fc) pprof.WriteHeapProfile(p.fm) } func (p *Pprof) Close() { pprof.StopCPUProfile() p.fc.Close() p.fm.Close() }