aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/trace
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-07-02 20:33:30 +0200
committerDmitry Vyukov <dvyukov@google.com>2015-07-02 19:10:00 +0000
commit11f50f41ee59e0003cec43c08bdf3102cb0cd5d3 (patch)
treef2cac2e51c6044829134b1b50f3ba53ac3771df4 /src/cmd/trace
parent2a0fc9e70e26cefc1877efa00e85c2e82fbec7e3 (diff)
downloadgo-11f50f41ee59e0003cec43c08bdf3102cb0cd5d3.tar.xz
cmd/trace: log errors to console in AJAX handler
Fixes #11508 Change-Id: I72e83893b76f75685d6edfe65ca6691d97539226 Reviewed-on: https://go-review.googlesource.com/11864 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/cmd/trace')
-rw-r--r--src/cmd/trace/trace.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/cmd/trace/trace.go b/src/cmd/trace/trace.go
index eb1aecdefd..0d2451b4ec 100644
--- a/src/cmd/trace/trace.go
+++ b/src/cmd/trace/trace.go
@@ -8,6 +8,7 @@ import (
"encoding/json"
"fmt"
"internal/trace"
+ "log"
"net/http"
"os"
"path/filepath"
@@ -67,9 +68,10 @@ func httpTraceViewerHTML(w http.ResponseWriter, r *http.Request) {
// httpJsonTrace serves json trace, requested from within templTrace HTML.
func httpJsonTrace(w http.ResponseWriter, r *http.Request) {
+ // This is an AJAX handler, so instead of http.Error we use log.Printf to log errors.
events, err := parseEvents()
if err != nil {
- http.Error(w, err.Error(), http.StatusInternalServerError)
+ log.Printf("failed to parse trace: %v", err)
return
}
@@ -81,7 +83,7 @@ func httpJsonTrace(w http.ResponseWriter, r *http.Request) {
if goids := r.FormValue("goid"); goids != "" {
goid, err := strconv.ParseUint(goids, 10, 64)
if err != nil {
- http.Error(w, fmt.Sprintf("failed to parse goid parameter '%v': %v", goids, err), http.StatusInternalServerError)
+ log.Printf("failed to parse goid parameter '%v': %v", goids, err)
return
}
analyzeGoroutines(events)
@@ -95,7 +97,7 @@ func httpJsonTrace(w http.ResponseWriter, r *http.Request) {
err = json.NewEncoder(w).Encode(generateTrace(params))
if err != nil {
- http.Error(w, fmt.Sprintf("failed to serialize trace: %v", err), http.StatusInternalServerError)
+ log.Printf("failed to serialize trace: %v", err)
return
}
}