mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
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.
30 lines
1.3 KiB
JSON
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 }
|
|
}
|
|
}
|
|
}
|