Help us shape the future of Go! Take the 2026 Go Developer Survey

report

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2021 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 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 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