diff options
| author | Hana (Hyang-Ah) Kim <hyangah@gmail.com> | 2020-04-22 16:24:30 -0400 |
|---|---|---|
| committer | Hyang-Ah Hana Kim <hyangah@gmail.com> | 2020-04-22 21:08:58 +0000 |
| commit | 0ee4b13830572ad66cdcc045d1e4ae1e15a87ebb (patch) | |
| tree | a57dab34de403ad03df540cf4cde7ab356da265b /src | |
| parent | 3e342e8719b8d84a976c05df0c03d9084c5f39e6 (diff) | |
| download | go-0ee4b13830572ad66cdcc045d1e4ae1e15a87ebb.tar.xz | |
net/http/pprof: allow "seconds" parameters to most profiles
golang.org/cl/147598 added the support for delta computation for mutex
and block profiles. In fact, this delta computation makes sense for
other types of profiles.
For example, /debug/pprof/allocs?seconds=x will provide how much allocation
was made during the specified period. /debug/pprof/goroutine?seconds=x will
provide the changes in the list of goroutines. This also makes sense for
custom profiles.
Update #23401
Update google/pprof#526
Change-Id: I45e9073eb001ea5b3f3d16e5a57f635193610656
Reviewed-on: https://go-review.googlesource.com/c/go/+/229537
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/net/http/pprof/pprof.go | 8 | ||||
| -rw-r--r-- | src/net/http/pprof/pprof_test.go | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/net/http/pprof/pprof.go b/src/net/http/pprof/pprof.go index 36b0af452d..4fd19eb539 100644 --- a/src/net/http/pprof/pprof.go +++ b/src/net/http/pprof/pprof.go @@ -334,8 +334,12 @@ func collectProfile(p *pprof.Profile) (*profile.Profile, error) { } var profileSupportsDelta = map[handler]bool{ - "block": true, - "mutex": true, + "allocs": true, + "block": true, + "goroutine": true, + "heap": true, + "mutex": true, + "threadcreate": true, } var profileDescriptions = map[string]string{ diff --git a/src/net/http/pprof/pprof_test.go b/src/net/http/pprof/pprof_test.go index 49c4c81caa..f6f9ef5b04 100644 --- a/src/net/http/pprof/pprof_test.go +++ b/src/net/http/pprof/pprof_test.go @@ -49,6 +49,7 @@ func TestHandlers(t *testing.T) { {"/debug/pprof/trace", Trace, http.StatusOK, "application/octet-stream", `attachment; filename="trace"`, nil}, {"/debug/pprof/mutex", Index, http.StatusOK, "application/octet-stream", `attachment; filename="mutex"`, nil}, {"/debug/pprof/block?seconds=1", Index, http.StatusOK, "application/octet-stream", `attachment; filename="block-delta"`, nil}, + {"/debug/pprof/goroutine?seconds=1", Index, http.StatusOK, "application/octet-stream", `attachment; filename="goroutine-delta"`, nil}, {"/debug/pprof/", Index, http.StatusOK, "text/html; charset=utf-8", "", []byte("Types of profiles available:")}, } for _, tc := range testCases { |
