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