Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
KernelSymbolFilePath = "/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) FindSymbolAddress ¶ added in v0.3.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.