Files
rippled/docker/telemetry/workload/regression-thresholds.json
Pratik Mankawde df79d5e74b feat: add OTel-driven regression gate for Phase 10 telemetry validation
Captures per-span / per-RPC / per-job timings from Prometheus after the
workload run and diffs them against a committed baseline. Regression
requires breaching both a percentage and an absolute bound, tolerating
small-value noise. When the baseline is a placeholder, the comparator
emits the captured JSON in the exact schema for one-time paste into
baselines/baseline-timings.json, and the CI Step Summary surfaces that
block for the reviewer.

Scope: gate only — automated baseline persistence, benchmark.sh
PromQL migration, and the historical trend dashboard remain follow-ups.
2026-04-24 18:53:44 +01:00

30 lines
1.3 KiB
JSON

{
"_description": "Per-metric regression thresholds. A metric regresses when current - baseline exceeds BOTH the percentage and absolute bounds (AND, not OR — this tolerates small-value noise). Defaults apply unless a per-metric override exists.",
"defaults": {
"span": {
"p50": { "max_pct_increase": 15.0, "max_abs_increase_ms": 2.0 },
"p95": { "max_pct_increase": 10.0, "max_abs_increase_ms": 3.0 },
"p99": { "max_pct_increase": 10.0, "max_abs_increase_ms": 5.0 }
},
"rpc_method": {
"p95": { "max_pct_increase": 10.0, "max_abs_increase_us": 3000.0 },
"p99": { "max_pct_increase": 10.0, "max_abs_increase_us": 5000.0 }
},
"job_queue": {
"p95": { "max_pct_increase": 15.0, "max_abs_increase_us": 5000.0 }
}
},
"overrides": {
"span.consensus.ledger_close": {
"p50": { "max_pct_increase": 5.0, "max_abs_increase_ms": 200.0 },
"p95": { "max_pct_increase": 5.0, "max_abs_increase_ms": 500.0 },
"p99": { "max_pct_increase": 5.0, "max_abs_increase_ms": 1000.0 }
},
"span.consensus.accept": {
"p50": { "max_pct_increase": 5.0, "max_abs_increase_ms": 200.0 },
"p95": { "max_pct_increase": 5.0, "max_abs_increase_ms": 500.0 },
"p99": { "max_pct_increase": 5.0, "max_abs_increase_ms": 1000.0 }
}
}
}