Documentation ¶
Overview ¶
Package profiler computes and reports on the time spent on expressions.
Index ¶
- type ExprStats
- type ExprStatsAggregated
- type FileReport
- type Profiler
- func (*Profiler) Config() topdown.TraceConfig
- func (*Profiler) Enabled() bool
- func (p *Profiler) ReportByFile() Report
- func (p *Profiler) ReportTopNResults(numResults int, criteria []string) []ExprStats
- func (p *Profiler) Trace(event *topdown.Event)
- func (p *Profiler) TraceEvent(event topdown.Event)
- type Report
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 ¶
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 ¶
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 (*Profiler) Config ¶
func (*Profiler) Config() topdown.TraceConfig
Config returns the standard Tracer configuration for the profiler
func (*Profiler) ReportByFile ¶
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 ¶
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) TraceEvent ¶
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.