ebpf

package
v1.21.1 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const FakeAddressBase = 0xbeed000000000000

Variables

This section is empty.

Functions

func AddressToOffset

func AddressToOffset(f *elf.File, addr uint64) (uint64, error)

Types

type EBPFContext

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

func LoadEBPFTracingProgram

func LoadEBPFTracingProgram(path string) (*EBPFContext, error)

func (*EBPFContext) AttachUprobe

func (ctx *EBPFContext) AttachUprobe(pid int, name string, offset uint64) error

func (*EBPFContext) Close

func (ctx *EBPFContext) Close()

func (*EBPFContext) GetBufferedTracepoints

func (ctx *EBPFContext) GetBufferedTracepoints() []RawUProbeParams

func (*EBPFContext) UpdateArgMap

func (ctx *EBPFContext) UpdateArgMap(key uint64, goidOffset int64, args []UProbeArgMap, gAddrOffset uint64, isret bool) error

type RawUProbeParam

type RawUProbeParam struct {
	Pieces   []op.Piece
	RealType godwarf.Type
	Kind     reflect.Kind
	Len      int64
	Base     uint64
	Addr     uint64
	Data     []byte
}

type RawUProbeParams

type RawUProbeParams struct {
	FnAddr       int
	GoroutineID  int
	IsRet        bool
	InputParams  []*RawUProbeParam
	ReturnParams []*RawUProbeParam
}

type UProbeArgMap

type UProbeArgMap struct {
	Offset int64        // Offset from the stackpointer.
	Size   int64        // Size in bytes.
	Kind   reflect.Kind // Kind of variable.
	Pieces []int        // Pieces of the variables as stored in registers.
	InReg  bool         // True if this param is contained in a register.
	Ret    bool         // True if this param is a return value.
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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