Documentation ¶
Index ¶
- Variables
- type GoLibrary
- type Info
- func (i *Info) FindMultipleSymbolByRegex(rep string) ([]string, error)
- func (i *Info) FindSymbolAddress(name string) uint64
- func (i *Info) FindSymbolByRegex(rep string) (string, error)
- func (i *Info) FindSymbolName(address uint64) string
- func (i *Info) FindSymbols(addresses []uint64, defaultSymbol string) []string
- type KernelFinder
- type Module
- type ModuleRange
- type ModuleType
- type NotSupport
- type StatFinder
- type Symbol
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotSupport = fmt.Errorf("not support")
View Source
var (
KernelProcSymbolFilePath = "kallsyms" // after host.GetHostProcInHost, should be "/proc/kallsyms"
)
Functions ¶
This section is empty.
Types ¶
type GoLibrary ¶
type GoLibrary struct { }
GoLibrary is using build-in elf reader to read
func NewGoLibrary ¶
func NewGoLibrary() *GoLibrary
func (*GoLibrary) AnalyzeSymbols ¶
type Info ¶
type Info struct { Modules []*Module // contains filtered or unexported fields }
Info of profiling process
func (*Info) FindMultipleSymbolByRegex ¶ added in v0.6.0
func (*Info) FindSymbolAddress ¶ added in v0.3.0
func (*Info) FindSymbolByRegex ¶ added in v0.4.0
func (*Info) FindSymbolName ¶
FindSymbolName by address
type KernelFinder ¶
type KernelFinder struct {
// contains filtered or unexported fields
}
func NewKernelFinder ¶
func NewKernelFinder() *KernelFinder
func (*KernelFinder) IsSupport ¶
func (k *KernelFinder) IsSupport(filepath string) bool
type Module ¶
type Module struct { Ranges []*ModuleRange Name string Path string Type ModuleType SoOffset, SoAddr uint64 Symbols []*Symbol }
type ModuleRange ¶
type ModuleRange struct {
StartAddr, EndAddr, FileOffset uint64
}
type ModuleType ¶
type ModuleType int8
const ( ModuleTypeExec ModuleType = iota ModuleTypeSo ModuleTypePerfMap ModuleTypeVDSO ModuleTypeUnknown )
type NotSupport ¶
type NotSupport struct { }
func NewNotSupport ¶
func NewNotSupport() *NotSupport
func (*NotSupport) AnalyzeSymbols ¶
func (l *NotSupport) AnalyzeSymbols(filePath string) ([]*Symbol, error)
func (*NotSupport) IsSupport ¶
func (l *NotSupport) IsSupport(filePath string) bool
func (*NotSupport) ToModule ¶
func (l *NotSupport) ToModule(pid int32, modName, modPath string, moduleRange []*ModuleRange) (*Module, error)
type StatFinder ¶
type StatFinder interface { // IsSupport to stat the executable file for profiling IsSupport(filePath string) bool // AnalyzeSymbols in the file AnalyzeSymbols(filePath string) ([]*Symbol, error) // ToModule to init a new module ToModule(pid int32, modName, modPath string, moduleRange []*ModuleRange) (*Module, error) }
Click to show internal directories.
Click to hide internal directories.