Use single filename for heap profiles
This commit is contained in:
@@ -40,12 +40,12 @@ func saveHeapProfiles(rate int) {
|
|||||||
runtime.MemProfileRate = rate
|
runtime.MemProfileRate = rate
|
||||||
var memstats, prevMemstats runtime.MemStats
|
var memstats, prevMemstats runtime.MemStats
|
||||||
|
|
||||||
t0 := time.Now()
|
name := fmt.Sprintf("heap-%05d.pprof", syscall.Getpid())
|
||||||
for t := range time.NewTicker(250 * time.Millisecond).C {
|
for {
|
||||||
startms := int(t.Sub(t0).Seconds() * 1000)
|
|
||||||
runtime.ReadMemStats(&memstats)
|
runtime.ReadMemStats(&memstats)
|
||||||
|
|
||||||
if memstats.HeapInuse > prevMemstats.HeapInuse {
|
if memstats.HeapInuse > prevMemstats.HeapInuse {
|
||||||
fd, err := os.Create(fmt.Sprintf("heap-%05d-%07d.pprof", syscall.Getpid(), startms))
|
fd, err := os.Create(name + ".tmp")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
@@ -57,7 +57,16 @@ func saveHeapProfiles(rate int) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_ = os.Remove(name) // Error deliberately ignored
|
||||||
|
err = os.Rename(name+".tmp", name)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
prevMemstats = memstats
|
prevMemstats = memstats
|
||||||
}
|
}
|
||||||
|
|
||||||
|
time.Sleep(250 * time.Millisecond)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user