diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2015-06-18 16:19:18 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2015-06-18 14:46:49 +0000 |
| commit | 1b269463a58c2537bfa7b08ede4134001860254f (patch) | |
| tree | d751632e5f2a76c0d4db83fb1549ab8321b3fe16 /src/cmd/trace/pprof.go | |
| parent | e72f5f67a1ba523ad647fe1c8c0e49e6aeb4141a (diff) | |
| download | go-1b269463a58c2537bfa7b08ede4134001860254f.tar.xz | |
cmd/trace: gracefully handle empty profiles
Return a meaningful message when a profile is empty.
Also rename "IO blocking" to "Network blocking",
currently only network blocking is captured.
Fixes #11098
Change-Id: Ib6f1292b8ade4805756fcb6696ba1fca8f9f39a9
Reviewed-on: https://go-review.googlesource.com/11243
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/cmd/trace/pprof.go')
| -rw-r--r-- | src/cmd/trace/pprof.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cmd/trace/pprof.go b/src/cmd/trace/pprof.go index 9e6f277978..154f04d56c 100644 --- a/src/cmd/trace/pprof.go +++ b/src/cmd/trace/pprof.go @@ -124,6 +124,10 @@ func httpSched(w http.ResponseWriter, r *http.Request) { // generateSVGProfile generates pprof-like profile stored in prof and writes in to w. func serveSVGProfile(w http.ResponseWriter, r *http.Request, prof map[uint64]Record) { + if len(prof) == 0 { + http.Error(w, "The profile is empty", http.StatusNotFound) + return + } blockf, err := ioutil.TempFile("", "block") if err != nil { http.Error(w, fmt.Sprintf("failed to create temp file: %v", err), http.StatusInternalServerError) |
