Documentation ¶
Overview ¶
Package driver implements the core pprof functionality. It can be parameterized with a flag implementation, fetch and symbolize mechanisms.
Index ¶
- func AddCommand(cmd string, format int, post PostProcessor, desc, usage string)
- func FetchProfiles(s *Source, o *plugin.Options) (*profile.Profile, error)
- func PProf(eo *plugin.Options) error
- func ServeWebInterface(hostport string, p *profile.Profile, o *plugin.Options, disableBrowser bool) error
- func SetDefaults(o *plugin.Options) *plugin.Options
- func SetVariableDefault(variable, value string)
- type GoFlags
- func (f *GoFlags) AddExtraUsage(eu string)
- func (*GoFlags) Bool(o string, d bool, c string) *bool
- func (*GoFlags) BoolVar(b *bool, o string, d bool, c string)
- func (f *GoFlags) ExtraUsage() string
- func (*GoFlags) Float64(o string, d float64, c string) *float64
- func (*GoFlags) Float64Var(f *float64, o string, d float64, c string)
- func (*GoFlags) Int(o string, d int, c string) *int
- func (*GoFlags) IntVar(i *int, o string, d int, c string)
- func (*GoFlags) Parse(usage func()) []string
- func (*GoFlags) String(o, d, c string) *string
- func (*GoFlags) StringList(o, d, c string) *[]*string
- func (*GoFlags) StringVar(s *string, o, d, c string)
- type PostProcessor
- type Source
- type WebInterface
- func (ui *WebInterface) Disasm(w http.ResponseWriter, req *http.Request)
- func (ui *WebInterface) Dot(w http.ResponseWriter, req *http.Request)
- func (ui *WebInterface) FlameGraph(w http.ResponseWriter, req *http.Request)
- func (ui *WebInterface) Peek(w http.ResponseWriter, req *http.Request)
- func (ui *WebInterface) Source(w http.ResponseWriter, req *http.Request)
- func (ui *WebInterface) Top(w http.ResponseWriter, req *http.Request)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddCommand ¶
func AddCommand(cmd string, format int, post PostProcessor, desc, usage string)
AddCommand adds an additional command to the set of commands accepted by pprof. This enables extensions to add new commands for specialized visualization formats. If the command specified already exists, it is overwritten.
func FetchProfiles ¶
FetchProfiles fetches and symbolizes the profiles specified by s. It will merge all the profiles it is able to retrieve, even if there are some failures. It will return an error if it is unable to fetch any profiles.
func PProf ¶
PProf acquires a profile, and symbolizes it using a profile manager. Then it generates a report formatted according to the options selected through the flags package.
func ServeWebInterface ¶
func SetDefaults ¶
SetDefaults returns a new plugin.Options with zero fields sets to sensible defaults.
func SetVariableDefault ¶
func SetVariableDefault(variable, value string)
SetVariableDefault sets the default value for a pprof variable. This enables extensions to set their own defaults.
Types ¶
type GoFlags ¶
type GoFlags struct {
UsageMsgs []string
}
GoFlags implements the plugin.FlagSet interface.
func (*GoFlags) AddExtraUsage ¶
AddExtraUsage implements the plugin.FlagSet interface.
func (*GoFlags) ExtraUsage ¶
ExtraUsage implements the plugin.FlagSet interface.
func (*GoFlags) Float64Var ¶
Float64Var implements the plugin.FlagSet interface. the value of the flag.
func (*GoFlags) StringList ¶
StringList implements the plugin.FlagSet interface.
type PostProcessor ¶
PostProcessor is a function that applies post-processing to the report output
type Source ¶
type WebInterface ¶
type WebInterface struct {
// contains filtered or unexported fields
}
WebInterface holds the state needed for serving a browser based interface.
func MakeWebInterface ¶
func MakeWebInterface(p *profile.Profile, opt *plugin.Options) *WebInterface
func (*WebInterface) Disasm ¶
func (ui *WebInterface) Disasm(w http.ResponseWriter, req *http.Request)
disasm generates a web page containing disassembly.
func (*WebInterface) Dot ¶
func (ui *WebInterface) Dot(w http.ResponseWriter, req *http.Request)
dot generates a web page containing an svg diagram.
func (*WebInterface) FlameGraph ¶
func (ui *WebInterface) FlameGraph(w http.ResponseWriter, req *http.Request)
flamegraph generates a web page containing a flamegraph.
func (*WebInterface) Peek ¶
func (ui *WebInterface) Peek(w http.ResponseWriter, req *http.Request)
peek generates a web page listing callers/callers.
func (*WebInterface) Source ¶
func (ui *WebInterface) Source(w http.ResponseWriter, req *http.Request)
source generates a web page containing source code annotated with profile data.
func (*WebInterface) Top ¶
func (ui *WebInterface) Top(w http.ResponseWriter, req *http.Request)