regression

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MinAbsolute = 5 * time.Second
	MinRelative = 0.25 // 25%
)

Thresholds for flagging regressions.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaselineStats

type BaselineStats struct {
	Count   int
	Last    time.Duration
	Median  time.Duration
	P50     time.Duration
	P90     time.Duration
	Fastest time.Duration
	Slowest time.Duration
}

BaselineStats holds historical aggregates.

func Stats

func Stats(durations []time.Duration) BaselineStats

Stats computes median/P50/P90/fastest/slowest over durations (successful runs).

type Kind

type Kind string

Kind classifies a delay.

const (
	KindNone          Kind = "none"
	KindRealStartup   Kind = "real_startup"
	KindReadinessPoll Kind = "readiness_polling"
	KindUnknown       Kind = "unknown"
)

Delay kinds.

func ClassifyPollingDelay

func ClassifyPollingDelay(readyAt, nextCheck time.Duration) (Kind, string)

ClassifyPollingDelay detects healthcheck-interval artifacts: readyAt is when the dependency accepted connections; nextCheck is when healthcheck passed.

type Result

type Result struct {
	CurrentTotal  time.Duration
	BaselineTotal time.Duration
	Delta         time.Duration
	IsRegression  bool
	Kind          Kind
	Explanation   string
	Path          *criticalpath.Path
}

Result compares a run against a baseline.

func Compare

func Compare(current, baseline time.Duration, path *criticalpath.Path) Result

Compare flags a regression when current exceeds baseline by absolute and relative thresholds.

Jump to

Keyboard shortcuts

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