perfsession

package
v0.0.0-...-7b712e5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2023 License: BSD-3-Clause Imports: 14 Imported by: 0

Documentation

Overview

Package perfsession provides utilities for tracking session state while processing a perf.data profile.

The API of perfsession should be considered unstable at this point.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Symbolize

func Symbolize(session *Session, mmap *Mmap, ip uint64, out *Symbolic) bool

Types

type ExtraKey

type ExtraKey *struct {
	Name string
	// contains filtered or unexported fields
}

func NewExtraKey

func NewExtraKey(name string) ExtraKey

type Forkable

type Forkable interface {
	Fork(pid int) Forkable
}

type ForkableExtra

type ForkableExtra map[ExtraKey]Forkable

func (ForkableExtra) Fork

func (f ForkableExtra) Fork(pid int) Forkable

type Mmap

type Mmap struct {
	Extra ForkableExtra

	perffile.RecordMmap
}

type PIDInfo

type PIDInfo struct {
	Extra ForkableExtra

	Comm string
	// contains filtered or unexported fields
}

func (*PIDInfo) LookupMmap

func (p *PIDInfo) LookupMmap(addr uint64) *Mmap

type Ranges

type Ranges struct {
	// contains filtered or unexported fields
}

Ranges stores data associated with ranges of uint64 values and supports efficient lookup.

func (*Ranges) Add

func (r *Ranges) Add(lo, hi uint64, val interface{})

Add inserts val for range [lo, hi).

Add is undefined if [lo, hi) overlaps a range already in r.

func (*Ranges) Get

func (r *Ranges) Get(idx uint64) (lo, hi uint64, val interface{}, ok bool)

Get returns the range and the value for the range containing idx.

type Session

type Session struct {
	File  *perffile.File
	Extra map[ExtraKey]interface{}
	// contains filtered or unexported fields
}

func New

func New(f *perffile.File) *Session

func (*Session) LookupPID

func (s *Session) LookupPID(pid int) *PIDInfo

func (*Session) Update

func (s *Session) Update(r perffile.Record)

type Symbolic

type Symbolic struct {
	FuncName string
	Line     dwarf.LineEntry
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL