ebpfspy

package module
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2024 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Overview

Package ebpfspy provides integration with Linux eBPF. It is a rough copy of profile.py from BCC tools:

https://github.com/iovisor/bcc/blob/master/tools/profile.py

Package ebpfspy provides integration with Linux eBPF. It is a rough copy of profile.py from BCC tools:

https://github.com/iovisor/bcc/blob/master/tools/profile.py

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BPFMapsOptions

type BPFMapsOptions struct {
	PIDMapSize     uint32
	SymbolsMapSize uint32
}

type Session

type Session interface {
	pprof.SamplesCollector
	Start() error
	Stop()
	Update(SessionOptions) error
	UpdateTargets(args sd.TargetsOptions)
	DebugInfo() interface{}
}

func NewSession

func NewSession(
	logger log.Logger,
	targetFinder sd.TargetFinder,

	sessionOptions SessionOptions,
) (Session, error)

type SessionDebugInfo

type SessionDebugInfo struct {
	ElfCache symtab.ElfCacheDebugInfo                          `alloy:"elf_cache,attr,optional" river:"elf_cache,attr,optional"`
	PidCache symtab.GCacheDebugInfo[symtab.ProcTableDebugInfo] `alloy:"pid_cache,attr,optional" river:"pid_cache,attr,optional"`
	Arch     string                                            `alloy:"arch,attr" river:"arch,attr"`
	Kernel   string                                            `alloy:"kernel,attr" river:"kernel,attr"`
}

type SessionOptions

type SessionOptions struct {
	CollectUser               bool //todo make these per target option overridable
	CollectKernel             bool
	UnknownSymbolModuleOffset bool // use libfoo.so+0xef instead of libfoo.so for unknown symbols
	UnknownSymbolAddress      bool // use 0xcafebabe instead of [unknown]
	PythonEnabled             bool
	CacheOptions              symtab.CacheOptions
	SymbolOptions             symtab.SymbolOptions
	Metrics                   *metrics.Metrics
	SampleRate                int
	VerifierLogSize           int
	PythonBPFErrorLogEnabled  bool
	PythonBPFDebugLogEnabled  bool
	BPFMapsOptions            BPFMapsOptions
}

type StackResolveStats

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

Directories

Path Synopsis
cmd
cpp
Code generated by glibc_dwarfdump.
Code generated by glibc_dwarfdump.
this is a copied version of https://github.com/cilium/ebpf/blob/main/rlimit/rlimit.go with the following changes: 1.
this is a copied version of https://github.com/cilium/ebpf/blob/main/rlimit/rlimit.go with the following changes: 1.
elf

Jump to

Keyboard shortcuts

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