diff options
| author | Hana Kim <hakim@google.com> | 2017-08-25 12:56:29 -0400 |
|---|---|---|
| committer | Hyang-Ah Hana Kim <hyangah@gmail.com> | 2017-08-28 20:40:49 +0000 |
| commit | 0b4f4e0153bbdb231eff3f3928f99eae3e48b363 (patch) | |
| tree | c153155e9786bdc4f64b3d712ebe5aa596260a63 /src/cmd/trace | |
| parent | 2a56b023af36d8cbe3f4d096cb46f1009f206157 (diff) | |
| download | go-0b4f4e0153bbdb231eff3f3928f99eae3e48b363.tar.xz | |
cmd/trace: add -d that prints parsed traces
This is useful when debugging the tool.
Some tweaks on logging: log the webserver address, log.Print instead
of log.Printf when possible.
Change-Id: Iaf71b6523b40dc13795511784d48eacf0f5a396a
Reviewed-on: https://go-review.googlesource.com/59570
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Diffstat (limited to 'src/cmd/trace')
| -rw-r--r-- | src/cmd/trace/main.go | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/cmd/trace/main.go b/src/cmd/trace/main.go index 8ea0ba0161..c8bd082d0d 100644 --- a/src/cmd/trace/main.go +++ b/src/cmd/trace/main.go @@ -42,6 +42,7 @@ Supported profile types are: Flags: -http=addr: HTTP service address (e.g., ':6060') -pprof=type: print a pprof-like profile instead + -d: print debug info such as parsed events Note that while the various profiles available when launching 'go tool trace' work on every browser, the trace viewer itself @@ -52,6 +53,7 @@ and is only actively tested on that browser. var ( httpFlag = flag.String("http", "localhost:0", "HTTP service address (e.g., ':6060')") pprofFlag = flag.String("pprof", "", "print a pprof-like profile instead") + debugFlag = flag.Bool("d", false, "print debug information such as parsed events list") // The binary file name, left here for serveSVGProfile. programBinary string @@ -103,13 +105,18 @@ func main() { dief("failed to create server socket: %v\n", err) } - log.Printf("Parsing trace...") + log.Print("Parsing trace...") events, err := parseEvents() if err != nil { dief("%v\n", err) } - log.Printf("Serializing trace...") + if *debugFlag { + trace.Print(events) + os.Exit(0) + } + + log.Print("Serializing trace...") params := &traceParams{ events: events, endTime: int64(1<<63 - 1), @@ -119,13 +126,12 @@ func main() { dief("%v\n", err) } - log.Printf("Splitting trace...") + log.Print("Splitting trace...") ranges = splitTrace(data) - log.Printf("Opening browser") - if !browser.Open("http://" + ln.Addr().String()) { - fmt.Fprintf(os.Stderr, "Trace viewer is listening on http://%s\n", ln.Addr().String()) - } + addr := "http://" + ln.Addr().String() + log.Printf("Opening browser. Trace viewer is listening on %s", addr) + browser.Open(addr) // Start http server. http.HandleFunc("/", httpMain) |
