From 987e24bf29796ad9f9c6ccd92841e34cbbd78adc Mon Sep 17 00:00:00 2001 From: "Mr.Li" Date: Sat, 8 Apr 2023 10:09:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=80=A7=E8=83=BD=E6=8D=95?= =?UTF-8?q?=E8=8E=B7=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- biz/util/ppro.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 biz/util/ppro.go diff --git a/biz/util/ppro.go b/biz/util/ppro.go new file mode 100644 index 0000000..0b1e578 --- /dev/null +++ b/biz/util/ppro.go @@ -0,0 +1,44 @@ +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() + +}