Commit Graph
6 Commits
Author SHA1 Message Date
MrAlders0n 98006a9364 feat(stats): serve historical stats from hourly rollups
Stats endpoints read hourly rollup tables filled once per closed hour by one
advisory-locked task, instead of materialized views that re-scanned every
observation on each refresh. IATA-set tables give exact distinct counts for any
IATA set or region. Cleanup holds raw rows for unrolled hours (up to 24h).

Adds /stats/series; ingest keeps packet observation counts, observer last IATA,
channel message counts and trace tag summaries. 001_baseline.sql is rewritten,
so pre-release 2.0 databases must be recreated. See docs/historical-stats.md.
2026-10-02 07:43:56 -04:00
n30nex 8f6032877b test(channels): preserve the existing catch-up response shape 2026-09-30 07:19:03 -04:00
n30nex 07335e6625 test(channels): use the documented catch-up cursor parameter 2026-09-30 07:19:03 -04:00
n30nex 7d3a3e289e test(channels): verify scope metadata through all HTTP message routes 2026-09-30 07:19:03 -04:00
n30nex abb6a3b9cf test(channels): give stored packet fixtures explicit receive times 2026-09-30 07:19:03 -04:00
n30nex 2abed6c195 feat(channels): expose recorded packet scope in message delivery 2026-09-30 07:19:03 -04:00