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) 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.