Robustness checklist
The behaviours most likely to surprise a first integration, collected in one
place:
1mmeans one month. There is no one-minute range on either time-series
endpoint.- Time-series values are strings. Parse the second element of every sample
pair, including for integer-valued series. /dataplane-statsis stateful. One collector only, or use the cumulative
byte counters instead.GET /api/bng/eventsmutates. One collector, sane interval./setup-wizard/applyalways returns 200. Inspect every per-sectionok./audit/exportdegrades to partial. Verify the row count.- Restore is not transactional. Handle
207. - An invalid
steporlimitdoes not error — it silently falls back to the
default. Only an invalidrange, an unknownmetric, and a missing required
ipreturn400. - Never retry a
403. HonourRetry-Afteron429. Re-mint before retrying
a401. - A flat time series may mean sampling stopped, not that the value fell to
zero. Cross-check health or the scrape liveness.