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.