mirror of
https://github.com/golang/go
synced 2024-11-13 20:20:30 -07:00
865b50c982
Fixes #19207 Change-Id: I69b70492fd01599a13c1a3beb87f492de40a18b0 Reviewed-on: https://go-review.googlesource.com/37312 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
36 lines
1.0 KiB
Go
36 lines
1.0 KiB
Go
// 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
|
|
|
|
Note that while the various profiles available when launching
|
|
'go tool trace' work on every browser, the trace viewer itself
|
|
(the 'view trace' page) comes from the Chrome/Chromium project
|
|
and is only actively tested on that browser.
|
|
*/
|
|
package main
|