Documentation
¶
Index ¶
- Constants
- func LoadProfile() (*ebpf.CollectionSpec, error)
- func LoadProfileObjects(obj interface{}, opts *ebpf.CollectionOptions) error
- type PidOp
- type ProfileGlobalConfigT
- type ProfileMapSpecs
- type ProfileMaps
- type ProfileObjects
- type ProfilePidConfig
- type ProfilePidEvent
- type ProfileProgramSpecs
- type ProfilePrograms
- type ProfileSampleKey
- type ProfileSpecs
- type ProfileVariableSpecs
- type ProfileVariables
- type ProfilingType
- type SampleKeyFlag
Constants ¶
const MapNamePIDs = "pids"
Variables ¶
This section is empty.
Functions ¶
func LoadProfile ¶
func LoadProfile() (*ebpf.CollectionSpec, error)
LoadProfile returns the embedded CollectionSpec for Profile.
func LoadProfileObjects ¶
func LoadProfileObjects(obj interface{}, opts *ebpf.CollectionOptions) error
LoadProfileObjects loads Profile and converts it into a struct.
The following types are suitable as obj argument:
*ProfileObjects *ProfilePrograms *ProfileMaps
See ebpf.CollectionSpec.LoadAndAssign documentation for details.
Types ¶
type ProfileGlobalConfigT ¶ added in v0.4.3
type ProfileGlobalConfigT struct{ NsPidIno uint64 }
type ProfileMapSpecs ¶
type ProfileMapSpecs struct {
Counts *ebpf.MapSpec `ebpf:"counts"`
Events *ebpf.MapSpec `ebpf:"events"`
Pids *ebpf.MapSpec `ebpf:"pids"`
Progs *ebpf.MapSpec `ebpf:"progs"`
Stacks *ebpf.MapSpec `ebpf:"stacks"`
}
ProfileMapSpecs contains maps before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type ProfileMaps ¶
type ProfileMaps struct {
Counts *ebpf.Map `ebpf:"counts"`
Events *ebpf.Map `ebpf:"events"`
Pids *ebpf.Map `ebpf:"pids"`
Progs *ebpf.Map `ebpf:"progs"`
Stacks *ebpf.Map `ebpf:"stacks"`
}
ProfileMaps contains all maps after they have been loaded into the kernel.
It can be passed to LoadProfileObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*ProfileMaps) Close ¶
func (m *ProfileMaps) Close() error
type ProfileObjects ¶
type ProfileObjects struct {
ProfilePrograms
ProfileMaps
ProfileVariables
}
ProfileObjects contains all objects after they have been loaded into the kernel.
It can be passed to LoadProfileObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*ProfileObjects) Close ¶
func (o *ProfileObjects) Close() error
type ProfilePidConfig ¶
type ProfilePidEvent ¶
type ProfileProgramSpecs ¶
type ProfileProgramSpecs struct {
DisassociateCtty *ebpf.ProgramSpec `ebpf:"disassociate_ctty"`
DoPerfEvent *ebpf.ProgramSpec `ebpf:"do_perf_event"`
Exec *ebpf.ProgramSpec `ebpf:"exec"`
}
ProfileProgramSpecs contains programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type ProfilePrograms ¶
type ProfilePrograms struct {
DisassociateCtty *ebpf.Program `ebpf:"disassociate_ctty"`
DoPerfEvent *ebpf.Program `ebpf:"do_perf_event"`
Exec *ebpf.Program `ebpf:"exec"`
}
ProfilePrograms contains all programs after they have been loaded into the kernel.
It can be passed to LoadProfileObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*ProfilePrograms) Close ¶
func (p *ProfilePrograms) Close() error
type ProfileSampleKey ¶
type ProfileSpecs ¶
type ProfileSpecs struct {
ProfileProgramSpecs
ProfileMapSpecs
ProfileVariableSpecs
}
ProfileSpecs contains maps and programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type ProfileVariableSpecs ¶ added in v0.4.10
type ProfileVariableSpecs struct {
E__ *ebpf.VariableSpec `ebpf:"e__"`
GlobalConfig *ebpf.VariableSpec `ebpf:"global_config"`
}
ProfileVariableSpecs contains global variables before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type ProfileVariables ¶ added in v0.4.10
type ProfileVariables struct {
E__ *ebpf.Variable `ebpf:"e__"`
GlobalConfig *ebpf.Variable `ebpf:"global_config"`
}
ProfileVariables contains all global variables after they have been loaded into the kernel.
It can be passed to LoadProfileObjects or ebpf.CollectionSpec.LoadAndAssign.
type ProfilingType ¶
type ProfilingType uint8
var ( ProfilingTypeUnknown ProfilingType = 1 ProfilingTypeFramepointers ProfilingType = 2 ProfilingTypePython ProfilingType = 3 ProfilingTypeError ProfilingType = 4 )
type SampleKeyFlag ¶ added in v0.4.3
type SampleKeyFlag uint32
var ( SampleKeyFlagPythonStack SampleKeyFlag = 1 SampleKeyFlagStackTruncated SampleKeyFlag = 2 )