report

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2023 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package report summarizes a performance profile into a human-readable report.

Index

Constants

View Source
const (
	Callgrind = iota
	Comments
	Dis
	Dot
	List
	Proto
	Raw
	Tags
	Text
	TopProto
	Traces
	Tree
	WebList
)

Output formats.

Variables

This section is empty.

Functions

func AddSourceTemplates

func AddSourceTemplates(t *template.Template)

AddSourceTemplates adds templates used by PrintWebList to t.

func Generate

func Generate(w io.Writer, rpt *Report, obj plugin.ObjTool) error

Generate generates a report as directed by the Report.

func GetDOT

func GetDOT(rpt *Report) (*graph.Graph, *graph.DotConfig)

GetDOT returns a graph suitable for dot processing along with some configuration information.

func PrintAssembly

func PrintAssembly(w io.Writer, rpt *Report, obj plugin.ObjTool, maxFuncs int) error

PrintAssembly prints annotated disassembly of rpt to w.

func PrintWebList

func PrintWebList(w io.Writer, rpt *Report, obj plugin.ObjTool, maxFiles int) error

PrintWebList prints annotated source listing of rpt to w. rpt.prof should contain inlined call info.

func ProfileLabels

func ProfileLabels(rpt *Report) []string

ProfileLabels returns printable labels for a profile.

Types

type Caller added in v0.0.4

type Caller struct {
	Calls           string
	CallsPercentage string
	Context         string
}

type Options

type Options struct {
	OutputFormat int

	CumSort       bool
	CallTree      bool
	DropNegative  bool
	CompactLabels bool
	Ratio         float64
	Title         string
	ProfileLabels []string
	ActiveFilters []string
	NumLabelUnits map[string]string

	NodeCount    int
	NodeFraction float64
	EdgeFraction float64

	SampleValue       func(s []int64) int64
	SampleMeanDivisor func(s []int64) int64
	SampleType        string
	SampleUnit        string // Unit for the sample data from the profile.

	OutputUnit string // Units for data formatting in report.

	Symbol     *regexp.Regexp // Symbols to include on disassembly report.
	SourcePath string         // Search path for source files.
	TrimPath   string         // Paths to trim from source file paths.

	IntelSyntax bool // Whether or not to print assembly in Intel syntax.
}

Options are the formatting and filtering options used to generate a profile.

type PeekRow added in v0.0.4

type PeekRow struct {
	Flat           string
	FlatPercentage string
	SumPercentage  string
	Cum            string
	CumPercentage  string
	InCaller       []*Caller
	OutCaller      []*Caller
	Context        string
}

func GetPeek added in v0.0.4

func GetPeek(rpt *Report) []*PeekRow

type Report

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

Report contains the data and associated routines to extract a report from a profile.

func New

func New(prof *profile.Profile, o *Options) *Report

New builds a new report indexing the sample values interpreting the samples with the provided function.

func NewDefault

func NewDefault(prof *profile.Profile, options Options) *Report

NewDefault builds a new report indexing the last sample value available.

func (*Report) Total

func (rpt *Report) Total() int64

Total returns the total number of samples in a report.

type TextItem

type TextItem struct {
	Name                  string
	InlineLabel           string // Not empty if inlined
	Flat, Cum             int64  // Raw values
	FlatFormat, CumFormat string // Formatted values
}

TextItem holds a single text report entry.

func TextItems

func TextItems(rpt *Report) ([]TextItem, []string)

TextItems returns a list of text items from the report and a list of labels that describe the report.

Jump to

Keyboard shortcuts

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