Documentation
¶
Index ¶
- func CopyFromProcessMemory(pid int, addr uintptr, buf []byte) error
- func FindSymbol(ef *elf.File, symbol string) (*elf.Symbol, error)
- func FindSymbolRegex(ef *elf.File, rawRegexSymbolMatcher string) (*elf.Symbol, error)
- func HasSymbols(ef *elf.File, matches [][]byte) (bool, error)
- func IsSymbolNameInDynamicSymbols(f *elf.File, matches [][]byte) (bool, error)
- func IsSymbolNameInSymbols(f *elf.File, matches [][]byte) (bool, error)
- func ReadStringAtAddress(rs io.ReadSeeker, address, size uint64) (string, error)
- func ScanPathForVersion(path string, rgx *regexp.Regexp) (string, error)
- func ScanReaderForVersion(r io.ReadSeeker, rgx *regexp.Regexp) (string, error)
- func ScanRodataForVersion(r io.ReaderAt, rgx *regexp.Regexp) (string, error)
- type Compiler
- type CompilerInfoManager
- type IOVec
- type ProcessMappedFile
- func (pmf ProcessMappedFile) Close() error
- func (pmf ProcessMappedFile) FindAddressOf(s string) (uint64, error)
- func (pmf ProcessMappedFile) FindAddressOfUsingRegex(symbolRegex string) (uint64, error)
- func (pmf ProcessMappedFile) VersionFromBSS(rgx *regexp.Regexp) (string, error)
- func (pmf ProcessMappedFile) VersionFromRodata(rgx *regexp.Regexp) (string, error)
- type Runtime
- type RuntimeName
- type UnwinderInfo
- type UnwinderType
- type VersionSource
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CopyFromProcessMemory ¶ added in v0.30.0
func FindSymbol ¶ added in v0.24.0
FindSymbol finds symbol by name in the given elf file.
func FindSymbolRegex ¶ added in v0.30.0
FindSymbolRegex finds symbol by name in the given elf file using regex.
func IsSymbolNameInDynamicSymbols ¶ added in v0.23.3
ForEachElfSymbolNameInSymbols iterates over the symbols in the dynamic symbol table of the given elf file. It calls the given function for each symbol name. The value is only valid for the iteration, it must not be saved unless copied.
func IsSymbolNameInSymbols ¶ added in v0.23.3
ForEachElfSymbolNameInSymbols iterates over the symbols in the symbol table of the given elf file. It calls the given function for each symbol name. The value is only valid for the iteration, it must not be saved unless copied.
func ReadStringAtAddress ¶ added in v0.24.0
func ReadStringAtAddress(rs io.ReadSeeker, address, size uint64) (string, error)
ReadStringAtAddress reads a null-terminated string from the given address in the given elf file.
func ScanPathForVersion ¶ added in v0.30.0
func ScanReaderForVersion ¶ added in v0.30.0
Types ¶
type CompilerInfoManager ¶ added in v0.28.0
type CompilerInfoManager struct {
// contains filtered or unexported fields
}
CompilerInfoManager is a cache for compiler information. Fetching this information is expensive, so we cache it. The cache is safe for concurrent use. It also controls throughput of fetches.
func NewCompilerInfoManager ¶ added in v0.28.0
func NewCompilerInfoManager(logger log.Logger, reg prometheus.Registerer, objFilePool *objectfile.Pool) *CompilerInfoManager
type ProcessMappedFile ¶ added in v0.30.0
func NewProcessMappedFile ¶ added in v0.30.0
func (ProcessMappedFile) Close ¶ added in v0.30.0
func (pmf ProcessMappedFile) Close() error
func (ProcessMappedFile) FindAddressOf ¶ added in v0.30.0
func (pmf ProcessMappedFile) FindAddressOf(s string) (uint64, error)
func (ProcessMappedFile) FindAddressOfUsingRegex ¶ added in v0.31.0
func (pmf ProcessMappedFile) FindAddressOfUsingRegex(symbolRegex string) (uint64, error)
func (ProcessMappedFile) VersionFromBSS ¶ added in v0.30.0
func (pmf ProcessMappedFile) VersionFromBSS(rgx *regexp.Regexp) (string, error)
func (ProcessMappedFile) VersionFromRodata ¶ added in v0.30.0
func (pmf ProcessMappedFile) VersionFromRodata(rgx *regexp.Regexp) (string, error)
type Runtime ¶ added in v0.28.0
type Runtime struct {
Name RuntimeName
Version string
VersionSource VersionSource
}
type RuntimeName ¶ added in v0.28.0
type RuntimeName string
type UnwinderInfo ¶ added in v0.31.0
type UnwinderInfo interface {
Type() UnwinderType
Runtime() Runtime
}
type UnwinderType ¶ added in v0.31.0
type UnwinderType uint64
const ( UnwinderNone UnwinderType = iota UnwinderRuby UnwinderPython UnwinderJava UnwinderGo )
func (UnwinderType) String ¶ added in v0.31.0
func (it UnwinderType) String() string
type VersionSource ¶ added in v0.30.0
type VersionSource string
const ( VersionSourcePath VersionSource = "path" VersionSourceMemory VersionSource = "memory" VersionSourceFile VersionSource = "file" )