driver

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2023 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Overview

Package driver implements the core pprof functionality. It can be parameterized with a flag implementation, fetch and symbolize mechanisms.

Index

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 MakeWebInterface

func MakeWebInterface(p *profile.Profile, opt *plugin.Options) (*webInterface, error)

func PProf

func PProf(eo *plugin.Options) error

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 SetDefaults

func SetDefaults(o *plugin.Options) *plugin.Options

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

func (f *GoFlags) AddExtraUsage(eu string)

AddExtraUsage implements the plugin.FlagSet interface.

func (*GoFlags) Bool

func (*GoFlags) Bool(o string, d bool, c string) *bool

Bool implements the plugin.FlagSet interface.

func (*GoFlags) ExtraUsage

func (f *GoFlags) ExtraUsage() string

ExtraUsage implements the plugin.FlagSet interface.

func (*GoFlags) Float64

func (*GoFlags) Float64(o string, d float64, c string) *float64

Float64 implements the plugin.FlagSet interface.

func (*GoFlags) Int

func (*GoFlags) Int(o string, d int, c string) *int

Int implements the plugin.FlagSet interface.

func (*GoFlags) Parse

func (*GoFlags) Parse(usage func()) []string

Parse implements the plugin.FlagSet interface.

func (*GoFlags) String

func (*GoFlags) String(o, d, c string) *string

String implements the plugin.FlagSet interface.

func (*GoFlags) StringList

func (*GoFlags) StringList(o, d, c string) *[]*string

StringList implements the plugin.FlagSet interface.

type Node added in v0.0.4

type Node struct {
	Id        int    `json:"i"`
	Name      string `json:"n"`
	FullName  string `json:"f"`
	Cum       int64  `json:"v"`
	CumFormat string `json:"l"`
	Percent   string `json:"p"`
	Tree      *Tree  `json:"-"`
}

type PostProcessor

type PostProcessor func(input io.Reader, output io.Writer, ui plugin.UI) error

PostProcessor is a function that applies post-processing to the report output

type Tree added in v0.0.4

type Tree struct {
	Self     Node    `json:"node"`
	Parent   []*Node `json:"parent"`
	Children []*Node `json:"c"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL