mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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 <hyangah@gmail.com>
This commit is contained in:
parent
c5fed5bb24
commit
76b4b8c72d
2 changed files with 30 additions and 22 deletions
30
src/cmd/trace/doc.go
Normal file
30
src/cmd/trace/doc.go
Normal file
|
|
@ -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
|
||||||
|
|
@ -2,28 +2,6 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// 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
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue