profiler

package
v0.12.2 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2019 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package profiler computes and reports on the time spent on expressions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExprStats

type ExprStats struct {
	ExprTimeNs int64         `json:"total_time_ns"`
	NumEval    int           `json:"num_eval"`
	NumRedo    int           `json:"num_redo"`
	Location   *ast.Location `json:"location"`
}

ExprStats represents the result of profiling an expression.

type FileReport

type FileReport struct {
	Result []ExprStats `json:"result"`
}

FileReport represents a profiler report for a single file.

type Profiler

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

Profiler computes and reports on the time spent on expressions.

func New

func New() *Profiler

New returns a new Profiler object.

func (*Profiler) Enabled

func (p *Profiler) Enabled() bool

Enabled returns true if profiler is enabled.

func (*Profiler) ReportByFile

func (p *Profiler) ReportByFile() (report Report)

ReportByFile returns a profiler report for expressions grouped by the file name. For each file the results are sorted by increasing row number.

func (*Profiler) ReportTopNResults

func (p *Profiler) ReportTopNResults(numResults int, criteria []string) []ExprStats

ReportTopNResults returns the top N results based on the given criteria. If N <= 0, all the results based on the criteria are returned.

func (*Profiler) Trace

func (p *Profiler) Trace(event *topdown.Event)

Trace updates the profiler state.

type Report

type Report struct {
	Files map[string]*FileReport `json:"files"`
}

Report represents the profiler report for a set of files.

Jump to

Keyboard shortcuts

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