...

Package report

import "cmd/vendor/github.com/google/pprof/internal/report"
Overview
Index

Overview ▾

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

Constants

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

Output formats.

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.

func ProfileLabels

func ProfileLabels(rpt *Report) []string

ProfileLabels returns printable labels for a profile.

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.

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.
}

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.