123456789101112131415161718192021222324252627282930313233 |
- package util
- import (
- "os"
- "runtime/pprof"
- "github.com/chrislusf/seaweedfs/weed/glog"
- )
- func SetupProfiling(cpuProfile, memProfile string) {
- if cpuProfile != "" {
- f, err := os.Create(cpuProfile)
- if err != nil {
- glog.Fatal(err)
- }
- pprof.StartCPUProfile(f)
- defer pprof.StopCPUProfile()
- OnInterrupt(func() {
- pprof.StopCPUProfile()
- })
- }
- if memProfile != "" {
- f, err := os.Create(memProfile)
- if err != nil {
- glog.Fatal(err)
- }
- OnInterrupt(func() {
- pprof.WriteHeapProfile(f)
- f.Close()
- })
- }
- }
|