perfgate-budget
Budget evaluation logic for performance thresholds.
Part of the perfgate workspace.
Overview
Pure budget evaluation functions with no I/O dependencies. Handles threshold checking, regression calculation, and verdict aggregation for performance metrics against configurable budgets.
Key API
evaluate_budget(baseline, current, budget)— evaluate a single metric →BudgetResultcalculate_regression(baseline, current, direction)— compute regression percentagedetermine_status(regression, threshold, warn_threshold)— map regression to Pass/Warn/Failaggregate_verdict(statuses)— aggregate multiple statuses into aVerdictevaluate_budgets(metrics, budgets)— batch-evaluate multiple metricsreason_token(metric, status)— generate structured reason tokens
Status Rules
| Condition | Status |
|---|---|
| regression > threshold | Fail |
| warn_threshold ≤ regression ≤ threshold | Warn |
| regression < warn_threshold | Pass |
Example
use ;
use ;
let budget = Budget ;
let result = evaluate_budget.unwrap;
assert_eq!;
let verdict = aggregate_verdict;
assert_eq!;
License
Licensed under either Apache-2.0 or MIT.