Help us shape the future of Go! Take the 2026 Go Developer Survey

cpu

package
v0.25.0 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2023 License: Apache-2.0 Imports: 46 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClassNameLen  = 32
	MethodNameLen = 64
	PathLen       = 128
)
View Source
const (
	RequestUnwindInformation = 1 << 63
	RequestProcessMappings   = 1 << 62
	RequestRefreshProcInfo   = 1 << 61
)

Variables

View Source
var (
	ErrNeedMoreProfilingRounds = errors.New("not enough profiling rounds with this unwind info")
)

Functions

func FdInfoMemlock added in v0.13.0

func FdInfoMemlock(logger log.Logger, data []byte) (int, error)

FDInfoMemlock returns the memory locked by the fd for a process using fdinfo data.

Types

type CPU

type CPU struct {
	// contains filtered or unexported fields
}

func NewCPUProfiler

func NewCPUProfiler(
	logger log.Logger,
	reg prometheus.Registerer,
	processInfoManager profiler.ProcessInfoManager,
	profileConverter *pprof.Manager,
	profileWriter profiler.ProfileStore,
	config *Config,
	bpfProgramLoaded chan bool,
) *CPU

func (*CPU) LastError

func (p *CPU) LastError() error

func (*CPU) LastProfileStartedAt

func (p *CPU) LastProfileStartedAt() time.Time

func (*CPU) Name

func (p *CPU) Name() string

func (*CPU) ProcessLastErrors

func (p *CPU) ProcessLastErrors() map[int]error

func (*CPU) Run

func (p *CPU) Run(ctx context.Context) error

type Config

type Config struct {
	ProfilingDuration          time.Duration
	ProfilingSamplingFrequency uint64

	PerfEventBufferPollInterval       time.Duration
	PerfEventBufferProcessingInterval time.Duration
	PerfEventBufferWorkerCount        int

	MemlockRlimit uint64

	DebugProcessNames []string

	DWARFUnwindingDisabled         bool
	DWARFUnwindingMixedModeEnabled bool
	BPFVerboseLoggingEnabled       bool

	PythonUnwindingEnabled bool
	RubyUnwindingEnabled   bool
}

func (Config) DebugModeEnabled added in v0.24.0

func (c Config) DebugModeEnabled() bool

type Symbol added in v0.24.0

type Symbol struct {
	ClassName  [ClassNameLen]byte
	MethodName [MethodNameLen]byte
	Path       [PathLen]byte
	Lineno     uint32
}

type UnwinderConfig added in v0.24.0

type UnwinderConfig struct {
	FilterProcesses   bool
	VerboseLogging    bool
	MixedStackWalking bool
	PythonEnable      bool
	RubyEnabled       bool
}

UnwinderConfig gets sync to BPF module.

Jump to

Keyboard shortcuts

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