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

cpu

package
v0.30.0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2024 License: Apache-2.0 Imports: 38 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CPU

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

func NewCPUProfiler

func NewCPUProfiler(
	logger log.Logger,
	reg prometheus.Registerer,
	processInfoManager profiler.ProcessInfoManager,
	compilerInfoManager *runtime.CompilerInfoManager,
	profileConverter *pprof.Manager,
	profileWriter profiler.ProfileStore,
	config *Config,
	bpfProgramLoaded chan bool,
	objFilePool *objectfile.Pool,
) *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
	BPFEventsBufferSize            uint32

	PythonUnwindingEnabled bool
	RubyUnwindingEnabled   bool

	RateLimitUnwindInfo         uint32
	RateLimitProcessMappings    uint32
	RateLimitRefreshProcessInfo uint32

	CollectTraceID bool
}

func (Config) DebugModeEnabled added in v0.24.0

func (c Config) DebugModeEnabled() bool

type UnwinderConfig added in v0.24.0

type UnwinderConfig struct {
	FilterProcesses             bool
	VerboseLogging              bool
	MixedStackWalking           bool
	PythonEnable                bool
	RubyEnabled                 bool
	CollectTraceID              bool
	Padding1                    bool
	Padding2                    bool
	RateLimitUnwindInfo         uint32
	RateLimitProcessMappings    uint32
	RateLimitRefreshProcessInfo uint32
}

UnwinderConfig must be synced to the C definition.

Directories

Path Synopsis
bpf

Jump to

Keyboard shortcuts

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