performanceevidence

package
v0.6.8 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RouteAuthorizationWarmupCount       = 8
	RouteAuthorizationMinBatchCount     = 64
	RouteAuthorizationMinSampleCount    = 1000
	RouteAuthorizationRequestsPerSample = 32
)

Variables

This section is empty.

Functions

func EnforceThresholds

func EnforceThresholds() bool

func Gate

func Gate() string

func P95

func P95(values []time.Duration) time.Duration

func Record

func Record(path string, scenario Scenario) error

func RelativeBasisPoints

func RelativeBasisPoints(observed, baseline float64) (float64, error)

func ValidateRouteAuthorizationProfile added in v0.6.0

func ValidateRouteAuthorizationProfile(profile RouteAuthorizationProfile) error

func WriteRouteAuthorizationProfile added in v0.6.0

func WriteRouteAuthorizationProfile(path string, profile RouteAuthorizationProfile) error

Types

type Metric

type Metric struct {
	Name       string  `json:"name"`
	Unit       string  `json:"unit"`
	Observed   float64 `json:"observed"`
	Limit      float64 `json:"limit"`
	Comparator string  `json:"comparator"`
}

type RouteAuthorizationEnvironment added in v0.6.0

type RouteAuthorizationEnvironment struct {
	OS          string `json:"os"`
	Arch        string `json:"arch"`
	LogicalCPUs int    `json:"logical_cpus"`
	GOMAXPROCS  int    `json:"gomaxprocs"`
	GoVersion   string `json:"go_version"`
}

type RouteAuthorizationMeasurement added in v0.6.0

type RouteAuthorizationMeasurement struct {
	Concurrency           int     `json:"concurrency"`
	BatchCount            int     `json:"batch_count"`
	SampleCount           int     `json:"sample_count"`
	MedianNanoseconds     int64   `json:"median_nanoseconds"`
	P95Nanoseconds        int64   `json:"p95_nanoseconds"`
	P99Nanoseconds        int64   `json:"p99_nanoseconds"`
	AllocationsPerRequest float64 `json:"allocations_per_request"`
	BytesPerRequest       float64 `json:"bytes_per_request"`
}

type RouteAuthorizationProfile added in v0.6.0

type RouteAuthorizationProfile struct {
	SchemaVersion     string                          `json:"schema_version"`
	Variant           string                          `json:"variant"`
	Commit            string                          `json:"commit"`
	Environment       RouteAuthorizationEnvironment   `json:"environment"`
	WarmupCount       int                             `json:"warmup_count"`
	RequestsPerSample int                             `json:"requests_per_sample"`
	Measurements      []RouteAuthorizationMeasurement `json:"measurements"`
}

func MeasureRouteAuthorization added in v0.6.0

func MeasureRouteAuthorization(variant, commit string, invoke func() error) (RouteAuthorizationProfile, error)

type Scenario

type Scenario struct {
	ID          string   `json:"id"`
	Gate        string   `json:"gate"`
	Status      string   `json:"status"`
	SampleCount int      `json:"sample_count"`
	Metrics     []Metric `json:"metrics"`
}

Jump to

Keyboard shortcuts

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