Back to godoc.org

Package profiling

v0.0.0-...-1557bcf
Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module: github.com/luci/luci-go

Overview

Package profiling provides a tool to profile various aspects of the process.

Index

type Profiler

type Profiler struct {
	// BindHTTP, if not empty, is the HTTP address to bind to.
	//
	// Can also be configured with "-profile-bind-http" flag.
	BindHTTP string

	// Dir, if set, is the path where profiling data will be written to.
	//
	// Can also be configured with "-profile-output-dir" flag.
	Dir string

	// ProfileCPU, if true, indicates that the profiler should profile the CPU.
	//
	// Requires Dir to be set, since it's where the profiler output is dumped.
	//
	// Can also be set with "-profile-cpu".
	ProfileCPU bool

	// ProfileHeap, if true, indicates that the profiler should profile heap
	// allocations.
	//
	// Requires Dir to be set, since it's where the profiler output is dumped.
	//
	// Can also be set with "-profile-heap".
	ProfileHeap bool

	// ProfileHeapFrequency, if set non-zero, instructs the profiler to
	// periodically dump heap profiler snapshots.
	//
	// Requires Dir to be set, since it's where the profiler output is dumped.
	//
	// Can also be set with "-profile-heap-frequency".
	ProfileHeapFrequency time.Duration

	// Logger, if not nil, will be used to log events and errors. If nil, no
	// logging will be used.
	Logger logging.Logger
	// Clock is the clock instance to use. If nil, the system clock will be used.
	Clock clock.Clock
	// contains filtered or unexported fields
}

Profiler helps setup and manage profiling

func (*Profiler) AddFlags

func (p *Profiler) AddFlags(fs *flag.FlagSet)

AddFlags adds command line flags to common Profiler fields.

func (*Profiler) DumpSnapshot

func (p *Profiler) DumpSnapshot() error

DumpSnapshot dumps a profile snapshot to the configured output directory. If no output directory is configured, nothing will happen.

func (*Profiler) Start

func (p *Profiler) Start() error

Start starts the Profiler's configured operations. On success, returns a function that can be called to shutdown the profiling server.

Calling Stop is not necessary, but will enable end-of-operation profiling to be gathered.

func (*Profiler) Stop

func (p *Profiler) Stop()

Stop stops the Profiler's operations.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier