profiler

package
v0.63.0 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2024 License: Apache-2.0 Imports: 5 Imported by: 15

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"`
	NumGenExpr int           `json:"num_gen_expr"`
	Location   *ast.Location `json:"location"`
}

ExprStats represents the result of profiling an expression.

type ExprStatsAggregated added in v0.31.0

type ExprStatsAggregated struct {
	ExprTimeNsStats interface{}   `json:"total_time_ns_stats"`
	NumEval         int           `json:"num_eval"`
	NumRedo         int           `json:"num_redo"`
	NumGenExpr      int           `json:"num_gen_expr"`
	Location        *ast.Location `json:"location"`
}

ExprStatsAggregated represents the result of profiling an expression by aggregating `n` profiles.

func AggregateProfiles added in v0.31.0

func AggregateProfiles(profiles ...[]ExprStats) []ExprStatsAggregated

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) Config added in v0.21.0

func (*Profiler) Config() topdown.TraceConfig

Config returns the standard Tracer configuration for the profiler

func (*Profiler) Enabled

func (*Profiler) Enabled() bool

Enabled returns true if profiler is enabled.

func (*Profiler) ReportByFile

func (p *Profiler) ReportByFile() 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. Deprecated: Use TraceEvent instead.

func (*Profiler) TraceEvent added in v0.21.0

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

TraceEvent updates the coverage 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