]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/pprof: write heap statistics to heap profile always
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 18 May 2015 19:38:56 +0000 (19:38 +0000)
committerJosh Bleecher Snyder <josharian@gmail.com>
Mon, 18 May 2015 20:02:21 +0000 (20:02 +0000)
This is a duplicate of CL 9491.
That CL broke the build due to pprof shortcomings
and was reverted in CL 9565.

CL 9623 fixed pprof, so this can go in again.

Fixes #10659.

Change-Id: If470fc90b3db2ade1d161b4417abd2f5c6c330b8
Reviewed-on: https://go-review.googlesource.com/10212
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
doc/go1.5.txt
src/runtime/pprof/pprof.go

index 10095d0c18106cd9296f7a03925d4af962f0fb09..54a4c6e349f429f46a0b88e18fad5f69c9136829 100644 (file)
@@ -66,6 +66,7 @@ reflect: add ArrayOf (https://golang.org/cl/4111)
 reflect: add FuncOf (https://golang.org/cl/1996)
 runtime, syscall: use SYSCALL instruction on FreeBSD (Go 1.5 now requires FreeBSD 8-STABLE+) (https://golang.org/cl/3020)
 runtime, syscall: use get_random_bytes syscall for NaCl (Go 1.5 now requires NaCl SDK pepper-39 or above) (https://golang.org/cl/1755)
+runtime/pprof: memory profiles include overall memory statistics by default (https://golang.org/cl/9491)
 strings: add Compare(x, y string) int, for symmetry with bytes.Compare (https://golang.org/cl/2828)
 syscall: Add Foreground and Pgid to SysProcAttr (https://golang.org/cl/5130)
 syscall: add missing Syscall9 for darwin/amd64 (https://golang.org/cl/6555)
index b3d0ae9b648b069d5ea9ed4df980b25bf60bf9c4..4290edb7beeaaab3f062b6a98679028268cdb069 100644 (file)
@@ -442,35 +442,33 @@ func writeHeap(w io.Writer, debug int) error {
 
        // Print memstats information too.
        // Pprof will ignore, but useful for people
-       if debug > 0 {
-               s := new(runtime.MemStats)
-               runtime.ReadMemStats(s)
-               fmt.Fprintf(w, "\n# runtime.MemStats\n")
-               fmt.Fprintf(w, "# Alloc = %d\n", s.Alloc)
-               fmt.Fprintf(w, "# TotalAlloc = %d\n", s.TotalAlloc)
-               fmt.Fprintf(w, "# Sys = %d\n", s.Sys)
-               fmt.Fprintf(w, "# Lookups = %d\n", s.Lookups)
-               fmt.Fprintf(w, "# Mallocs = %d\n", s.Mallocs)
-               fmt.Fprintf(w, "# Frees = %d\n", s.Frees)
-
-               fmt.Fprintf(w, "# HeapAlloc = %d\n", s.HeapAlloc)
-               fmt.Fprintf(w, "# HeapSys = %d\n", s.HeapSys)
-               fmt.Fprintf(w, "# HeapIdle = %d\n", s.HeapIdle)
-               fmt.Fprintf(w, "# HeapInuse = %d\n", s.HeapInuse)
-               fmt.Fprintf(w, "# HeapReleased = %d\n", s.HeapReleased)
-               fmt.Fprintf(w, "# HeapObjects = %d\n", s.HeapObjects)
-
-               fmt.Fprintf(w, "# Stack = %d / %d\n", s.StackInuse, s.StackSys)
-               fmt.Fprintf(w, "# MSpan = %d / %d\n", s.MSpanInuse, s.MSpanSys)
-               fmt.Fprintf(w, "# MCache = %d / %d\n", s.MCacheInuse, s.MCacheSys)
-               fmt.Fprintf(w, "# BuckHashSys = %d\n", s.BuckHashSys)
-
-               fmt.Fprintf(w, "# NextGC = %d\n", s.NextGC)
-               fmt.Fprintf(w, "# PauseNs = %d\n", s.PauseNs)
-               fmt.Fprintf(w, "# NumGC = %d\n", s.NumGC)
-               fmt.Fprintf(w, "# EnableGC = %v\n", s.EnableGC)
-               fmt.Fprintf(w, "# DebugGC = %v\n", s.DebugGC)
-       }
+       s := new(runtime.MemStats)
+       runtime.ReadMemStats(s)
+       fmt.Fprintf(w, "\n# runtime.MemStats\n")
+       fmt.Fprintf(w, "# Alloc = %d\n", s.Alloc)
+       fmt.Fprintf(w, "# TotalAlloc = %d\n", s.TotalAlloc)
+       fmt.Fprintf(w, "# Sys = %d\n", s.Sys)
+       fmt.Fprintf(w, "# Lookups = %d\n", s.Lookups)
+       fmt.Fprintf(w, "# Mallocs = %d\n", s.Mallocs)
+       fmt.Fprintf(w, "# Frees = %d\n", s.Frees)
+
+       fmt.Fprintf(w, "# HeapAlloc = %d\n", s.HeapAlloc)
+       fmt.Fprintf(w, "# HeapSys = %d\n", s.HeapSys)
+       fmt.Fprintf(w, "# HeapIdle = %d\n", s.HeapIdle)
+       fmt.Fprintf(w, "# HeapInuse = %d\n", s.HeapInuse)
+       fmt.Fprintf(w, "# HeapReleased = %d\n", s.HeapReleased)
+       fmt.Fprintf(w, "# HeapObjects = %d\n", s.HeapObjects)
+
+       fmt.Fprintf(w, "# Stack = %d / %d\n", s.StackInuse, s.StackSys)
+       fmt.Fprintf(w, "# MSpan = %d / %d\n", s.MSpanInuse, s.MSpanSys)
+       fmt.Fprintf(w, "# MCache = %d / %d\n", s.MCacheInuse, s.MCacheSys)
+       fmt.Fprintf(w, "# BuckHashSys = %d\n", s.BuckHashSys)
+
+       fmt.Fprintf(w, "# NextGC = %d\n", s.NextGC)
+       fmt.Fprintf(w, "# PauseNs = %d\n", s.PauseNs)
+       fmt.Fprintf(w, "# NumGC = %d\n", s.NumGC)
+       fmt.Fprintf(w, "# EnableGC = %v\n", s.EnableGC)
+       fmt.Fprintf(w, "# DebugGC = %v\n", s.DebugGC)
 
        if tw != nil {
                tw.Flush()