From 76b4b8c72dc319454ff3ecb83bf49831e4e528c3 Mon Sep 17 00:00:00 2001 From: Jaana Burcu Dogan Date: Fri, 10 Feb 2017 17:23:55 -0800 Subject: [PATCH] cmd/trace: document the final step to use pprof-like profiles The tutorial ends without mentioning how to use the generated pprof-like profile with the pprof tool. This may be very trivial for users who are already very familiar with the Go tools, but for the newcomers, it saves a lot of time to finalize the tutorial with an example of `go tool pprof` invocation. Change-Id: Idf034eb4bfb9672ef10190e66fcbf873e8f08f6a Reviewed-on: https://go-review.googlesource.com/36803 Reviewed-by: Hyang-Ah Hana Kim --- src/cmd/trace/doc.go | 30 ++++++++++++++++++++++++++++++ src/cmd/trace/main.go | 22 ---------------------- 2 files changed, 30 insertions(+), 22 deletions(-) create mode 100644 src/cmd/trace/doc.go diff --git a/src/cmd/trace/doc.go b/src/cmd/trace/doc.go new file mode 100644 index 0000000000..79506ca9bb --- /dev/null +++ b/src/cmd/trace/doc.go @@ -0,0 +1,30 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Trace is a tool for viewing trace files. + +Trace files can be generated with: + - runtime/trace.Start + - net/http/pprof package + - go test -trace + +Example usage: +Generate a trace file with 'go test': + go test -trace trace.out pkg +View the trace in a web browser: + go tool trace trace.out +Generate a pprof-like profile from the trace: + go tool trace -pprof=TYPE trace.out > TYPE.pprof + +Supported profile types are: + - net: network blocking profile + - sync: synchronization blocking profile + - syscall: syscall blocking profile + - sched: scheduler latency profile + +Then, you can use the pprof tool to analyze the profile: + go tool pprof TYPE.pprof +*/ +package main diff --git a/src/cmd/trace/main.go b/src/cmd/trace/main.go index c7bf75ef68..6367874d70 100644 --- a/src/cmd/trace/main.go +++ b/src/cmd/trace/main.go @@ -2,28 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -/* -Trace is a tool for viewing trace files. - -Trace files can be generated with: - - runtime/trace.Start - - net/http/pprof package - - go test -trace - -Example usage: -Generate a trace file with 'go test': - go test -trace trace.out pkg -View the trace in a web browser: - go tool trace trace.out -Generate a pprof-like profile from the trace: - go tool trace -pprof=TYPE trace.out > TYPE.pprof - -Supported profile types are: - - net: network blocking profile - - sync: synchronization blocking profile - - syscall: syscall blocking profile - - sched: scheduler latency profile -*/ package main import ( -- 2.50.0