package profiler
import "github.com/open-policy-agent/opa/profiler"
Package profiler computes and reports on the time spent on expressions.
Index ¶
- type ExprStats
- type FileReport
- type Profiler
- func New() *Profiler
- func (p *Profiler) Enabled() bool
- func (p *Profiler) ReportByFile() (report Report)
- func (p *Profiler) ReportTopNResults(numResults int, criteria []string) []ExprStats
- func (p *Profiler) Trace(event *topdown.Event)
- type Report
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 ¶
Enabled returns true if profiler is enabled.
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) Trace ¶
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.
Source Files ¶
- Version
- v0.13.0
- Published
- Aug 6, 2019
- Platform
- js/wasm
- Imports
- 4 packages
- Last checked
- 5 minutes ago –
Tools for package owners.