Documentation
¶
Index ¶
- func FindSymbol(ef *elf.File, symbol 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)
- type Compiler
- type CompilerInfoManager
- type Interpreter
- type InterpreterType
- type Runtime
- type RuntimeName
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindSymbol ¶ added in v0.24.0
FindSymbol finds symbol by name in the given elf file.
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.
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(reg prometheus.Registerer, objFilePool *objectfile.Pool) *CompilerInfoManager
type Interpreter ¶ added in v0.24.0
type InterpreterType ¶ added in v0.24.0
type InterpreterType uint64
const ( InterpreterNone InterpreterType = iota InterpreterRuby InterpreterPython )
func (InterpreterType) String ¶ added in v0.24.0
func (it InterpreterType) String() string
type Runtime ¶ added in v0.28.0
type Runtime struct {
Name RuntimeName
Version string
}
type RuntimeName ¶ added in v0.28.0
type RuntimeName string