mirror of
https://github.com/golang/go
synced 2024-10-04 13:21:22 -06:00
937caef8fa
amd64 linux only. R=rsc CC=golang-dev https://golang.org/cl/186077
49 lines
1.8 KiB
Go
49 lines
1.8 KiB
Go
// Copyright 2009 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.
|
|
|
|
/*
|
|
|
|
Prof is a rudimentary real-time profiler.
|
|
|
|
Given a command to run or the process id (pid) of a command already
|
|
running, it samples the program's state at regular intervals and reports
|
|
on its behavior. With no options, it prints a histogram of the locations
|
|
in the code that were sampled during execution.
|
|
|
|
Since it is a real-time profiler, unlike a traditional profiler it samples
|
|
the program's state even when it is not running, such as when it is
|
|
asleep or waiting for I/O. Each thread contributes equally to the
|
|
statistics.
|
|
|
|
|
|
Usage: prof -p pid [-t total_secs] [-d delta_msec] [6.out args ...]
|
|
|
|
The output modes (default -h) are:
|
|
|
|
-P file.prof:
|
|
Write the profile information to file.prof, in the format used by pprof.
|
|
At the moment, this only works on Linux amd64 binaries and requires that the
|
|
binary be written using 6l -e to produce ELF debug info.
|
|
See http://code.google.com/p/google-perftools for details.
|
|
-h: histograms
|
|
How many times a sample occurred at each location.
|
|
-f: dynamic functions
|
|
At each sample period, print the name of the executing function.
|
|
-l: dynamic file and line numbers
|
|
At each sample period, print the file and line number of the executing instruction.
|
|
-r: dynamic registers
|
|
At each sample period, print the register contents.
|
|
-s: dynamic function stack traces
|
|
At each sample period, print the symbolic stack trace.
|
|
|
|
Flag -t sets the maximum real time to sample, in seconds, and -d
|
|
sets the sampling interval in milliseconds. The default is to sample
|
|
every 100ms until the program completes.
|
|
|
|
For reasons of disambiguation it is installed as 6prof although it also serves
|
|
as an 8prof and a 5prof.
|
|
|
|
*/
|
|
package documentation
|