package metrics
import "github.com/open-policy-agent/opa/v1/metrics"
Package metrics contains helpers for performance metric management inside the policy engine.
Index ¶
- Constants
- func Statistics(num ...int64) interface{}
- type Counter
- type Histogram
- type Info
- type Metrics
- type Timer
- type TimerMetrics
Constants ¶
const ( BundleRequest = "bundle_request" ServerHandler = "server_handler" ServerQueryCacheHit = "server_query_cache_hit" SDKDecisionEval = "sdk_decision_eval" RegoQueryCompile = "rego_query_compile" RegoQueryEval = "rego_query_eval" RegoQueryParse = "rego_query_parse" RegoModuleParse = "rego_module_parse" RegoDataParse = "rego_data_parse" RegoModuleCompile = "rego_module_compile" RegoPartialEval = "rego_partial_eval" RegoInputParse = "rego_input_parse" RegoLoadFiles = "rego_load_files" RegoLoadBundles = "rego_load_bundles" RegoExternalResolve = "rego_external_resolve" )
Well-known metric names.
Functions ¶
func Statistics ¶
func Statistics(num ...int64) interface{}
Types ¶
type Counter ¶
type Counter interface { Value() interface{} Incr() Add(n uint64) }
Counter defines the interface for a monotonic increasing counter.
type Histogram ¶
type Histogram interface { Value() interface{} Update(int64) }
Histogram defines the interface for a histogram with hardcoded percentiles.
type Info ¶
type Info struct { Name string `json:"name"` // name is a unique human-readable identifier for the provider. }
Info contains attributes describing the underlying metrics provider.
type Metrics ¶
type Metrics interface { Info() Info Timer(name string) Timer Histogram(name string) Histogram Counter(name string) Counter All() map[string]interface{} Clear() json.Marshaler }
Metrics defines the interface for a collection of performance metrics in the policy engine.
func New ¶
func New() Metrics
New returns a new Metrics object.
type Timer ¶
Timer defines the interface for a restartable timer that accumulates elapsed time.
type TimerMetrics ¶
type TimerMetrics interface { Timers() map[string]interface{} }
Source Files ¶
- Version
- v1.4.2 (latest)
- Published
- May 2, 2025
- Platform
- linux/amd64
- Imports
- 8 packages
- Last checked
- 2 hours ago –
Tools for package owners.