go-perf

module
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

README

go-perf is a set of tools for working with Linux perf.data profiles, as well as a set of Go packages for parsing and interpreting such profiles.

memlat

memlat is a web-based interactive browser for memory load latency profiles. Such profiles give deep and detailed insight in to the sources of memory stalls and conflicts, but are difficult to interpret using traditional profiling tools. See the detailed documentation on godoc.

There is also a predecessor of memlat in cmd/memheat. This tool generates static SVG files summarizing memory load latency distributions by function and source line. This may be removed in the future.

dump

dump prints the detailed decoded contents of a perf.data profile. It's similar to perf report -D, but is somewhat less mysterious. It's particularly useful when developing with the perffile library because it prints everything in terms of perffile structures.

Libraries

This repository also contains two Go packages for parsing and interpreting perf.data files.

perffile provides a parser for perf.data files. It can interpret all current record types and almost all metadata fields.

perfsession provides utilities for tracking session state while processing a perf.data file. Its API is still evolving and should be considered unstable.

Directories

Path Synopsis
cmd
bitstringer
Command bitstringer generates String methods for bit-mask types.
Command bitstringer generates String methods for bit-mask types.
branchstats
Command branchstats analyzes branch profiles for branch mispredict rates.
Command branchstats analyzes branch profiles for branch mispredict rates.
memanim
Command memanim creates an animation of memory accesses over time from a "perf mem record" profile.
Command memanim creates an animation of memory accesses over time from a "perf mem record" profile.
memlat
Command memlat is a web-based browser for memory load latency profiles.
Command memlat is a web-based browser for memory load latency profiles.
perfdump
Command perfdump prints the raw contents of a perf.data profile.
Command perfdump prints the raw contents of a perf.data profile.
prologuer
Command prologuer reports what fraction of samples from a profile are from IPs marked as function prologue in DWARF line tables.
Command prologuer reports what fraction of samples from a profile are from IPs marked as function prologue in DWARF line tables.
internal
Package perffile is a parser for Linux perf.data profiles.
Package perffile is a parser for Linux perf.data profiles.
Package perfsession provides utilities for tracking session state while processing a perf.data profile.
Package perfsession provides utilities for tracking session state while processing a perf.data profile.

Jump to

Keyboard shortcuts

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