Documentation ¶
Overview ¶
Modified from go-ethereum under GNU Lesser General Public License
Index ¶
- Variables
- func Exit()
- func LoudPanic(x interface{})
- func Setup(ctx *cli.Context, logdir string) error
- func StartPProf(address string)
- type HandlerT
- func (*HandlerT) BacktraceAt(location string) error
- func (*HandlerT) BlockProfile(file string, nsec uint) error
- func (h *HandlerT) CpuProfile(file string, nsec uint) error
- func (*HandlerT) FreeOSMemory()
- func (*HandlerT) GcStats() *debug.GCStats
- func (h *HandlerT) GoTrace(file string, nsec uint) error
- func (*HandlerT) MemStats() *runtime.MemStats
- func (*HandlerT) MutexProfile(file string, nsec uint) error
- func (*HandlerT) SetBlockProfileRate(rate int)
- func (*HandlerT) SetGCPercent(v int) int
- func (*HandlerT) SetMutexProfileFraction(rate int)
- func (*HandlerT) Stacks() string
- func (h *HandlerT) StartCPUProfile(file string) error
- func (h *HandlerT) StartGoTrace(file string) error
- func (h *HandlerT) StopCPUProfile() error
- func (h *HandlerT) StopGoTrace() error
- func (*HandlerT) Verbosity(level int)
- func (*HandlerT) Vmodule(pattern string) error
- func (*HandlerT) WriteBlockProfile(file string) error
- func (*HandlerT) WriteMemProfile(file string) error
- func (*HandlerT) WriteMutexProfile(file string) error
Constants ¶
This section is empty.
Variables ¶
var Flags = []cli.Flag{
verbosityFlag, vmoduleFlag, backtraceAtFlag, debugFlag,
pprofFlag, pprofAddrFlag, pprofPortFlag,
memprofilerateFlag, blockprofilerateFlag, cpuprofileFlag, traceFlag,
}
Flags holds all command-line flags required for debugging.
var Handler = new(HandlerT)
Handler is the global debugging handler.
var Memsize memsizeui.Handler
Functions ¶
func Exit ¶
func Exit()
Exit stops all running profiles, flushing their output to the respective file.
func LoudPanic ¶
func LoudPanic(x interface{})
LoudPanic panics in a way that gets all goroutine stacks printed on stderr.
func Setup ¶
Setup initializes profiling and logging based on the CLI flags. It should be called as early as possible in the program.
func StartPProf ¶
func StartPProf(address string)
Types ¶
type HandlerT ¶
type HandlerT struct {
// contains filtered or unexported fields
}
HandlerT implements the debugging API. Do not create values of this type, use the one in the Handler variable instead.
func (*HandlerT) BacktraceAt ¶
BacktraceAt sets the log backtrace location. See package log for details on the pattern syntax.
func (*HandlerT) BlockProfile ¶
BlockProfile turns on goroutine profiling for nsec seconds and writes profile data to file. It uses a profile rate of 1 for most accurate information. If a different rate is desired, set the rate and write the profile manually.
func (*HandlerT) CpuProfile ¶
CpuProfile turns on CPU profiling for nsec seconds and writes profile data to file.
func (*HandlerT) FreeOSMemory ¶
func (*HandlerT) FreeOSMemory()
FreeOSMemory returns unused memory to the OS.
func (*HandlerT) MutexProfile ¶
MutexProfile turns on mutex profiling for nsec seconds and writes profile data to file. It uses a profile rate of 1 for most accurate information. If a different rate is desired, set the rate and write the profile manually.
func (*HandlerT) SetBlockProfileRate ¶
SetBlockProfileRate sets the rate of goroutine block profile data collection. rate 0 disables block profiling.
func (*HandlerT) SetGCPercent ¶
SetGCPercent sets the garbage collection target percentage. It returns the previous setting. A negative value disables GC.
func (*HandlerT) SetMutexProfileFraction ¶
SetMutexProfileFraction sets the rate of mutex profiling.
func (*HandlerT) StartCPUProfile ¶
StartCPUProfile turns on CPU profiling, writing to the given file.
func (*HandlerT) StartGoTrace ¶
StartGoTrace turns on tracing, writing to the given file.
func (*HandlerT) StopCPUProfile ¶
StopCPUProfile stops an ongoing CPU profile.
func (*HandlerT) StopGoTrace ¶
StopTrace stops an ongoing trace.
func (*HandlerT) Verbosity ¶
Verbosity sets the log verbosity ceiling. The verbosity of individual packages and source files can be raised using Vmodule.
func (*HandlerT) Vmodule ¶
Vmodule sets the log verbosity pattern. See package log for details on the pattern syntax.
func (*HandlerT) WriteBlockProfile ¶
WriteBlockProfile writes a goroutine blocking profile to the given file.
func (*HandlerT) WriteMemProfile ¶
WriteMemProfile writes an allocation profile to the given file. Note that the profiling rate cannot be set through the API, it must be set on the command line.
func (*HandlerT) WriteMutexProfile ¶
WriteMutexProfile writes a goroutine blocking profile to the given file.