Documentation
¶
Index ¶
Constants ¶
View Source
const FakeAddressBase = 0xbeed000000000000
Variables ¶
This section is empty.
Functions ¶
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 {
Name string // Parameter name from DWARF.
TypeName string // Original type name from DWARF (e.g., "*int", "[]byte").
Pieces []op.Piece
RealType godwarf.Type
Kind reflect.Kind
Len int64
Base uint64
Addr uint64
Data []byte
Unreadable error // If set, the parameter could not be read (e.g., XMM register, unsupported type).
}
type RawUProbeParams ¶
type RawUProbeParams struct {
FnAddr int
GoroutineID int
IsRet bool
InputParams []*RawUProbeParam
ReturnParams []*RawUProbeParam
}
type UProbeArgMap ¶
type UProbeArgMap struct {
Name string // Parameter name from DWARF.
Offset int64 // Offset from the stackpointer.
Size int64 // Size in bytes.
Kind reflect.Kind // Kind of variable.
TypeName string // Original type name from DWARF (e.g., "*int", "[]byte").
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.
}
Click to show internal directories.
Click to hide internal directories.