mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
add block and mutex profiling
This commit is contained in:
parent
28a4a1f8d6
commit
7225cb4ac5
|
@ -14,9 +14,30 @@ func SetupProfiling(cpuProfile, memProfile string) {
|
|||
if err != nil {
|
||||
glog.Fatal(err)
|
||||
}
|
||||
runtime.SetBlockProfileRate(1)
|
||||
runtime.SetMutexProfileFraction(1)
|
||||
pprof.StartCPUProfile(f)
|
||||
OnInterrupt(func() {
|
||||
pprof.StopCPUProfile()
|
||||
|
||||
// write block pprof
|
||||
blockF, err := os.Create(cpuProfile+".block")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
p := pprof.Lookup("block")
|
||||
p.WriteTo(blockF,0)
|
||||
blockF.Close()
|
||||
|
||||
// write mutex pprof
|
||||
mutexF, err := os.Create(cpuProfile+".mutex")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
p = pprof.Lookup("mutex")
|
||||
p.WriteTo(mutexF,0)
|
||||
mutexF.Close()
|
||||
|
||||
})
|
||||
}
|
||||
if memProfile != "" {
|
||||
|
|
Loading…
Reference in a new issue