Skip to content

Add network_daily_metrics time-series schema - #54

Merged
christabel888 merged 1 commit into
Stellar-Insightss:mainfrom
ndii-dev:issue-45-network-metrics-schema
Aug 28, 2026
Merged

Add network_daily_metrics time-series schema#54
christabel888 merged 1 commit into
Stellar-Insightss:mainfrom
ndii-dev:issue-45-network-metrics-schema

Conversation

@ndii-dev

Copy link
Copy Markdown

Closes #45

Adds migrations/031_create_network_metrics_timeseries.sql, a wide daily
table (network_daily_metrics) with one row per UTC calendar day covering
daily active accounts, new accounts, transaction count, payment volume,
average/median fee, and active Soroban contract count.

This is the schema several other endpoint issues (#15-#19) query directly.
A wide table was chosen over narrow per-metric tables since the target
queries are "give me everything for date X / the last N days," which a
wide table serves with a single row read per day instead of a multi-table
join. An is_complete flag distinguishes a fully-computed day from a
partially-written one (see #2's partial-run handling), and a present-but-
zero row is distinguishable from a missing row for #15's "gaps should be
null, not zero" requirement.

)

Wide daily table backing the Network Dashboard endpoints (Stellar-Insightss#15-Stellar-Insightss#19):
DAA, new accounts, tx count, payment volume, fee trends, and active
Soroban contract count, one row per UTC calendar day.
@christabel888
christabel888 merged commit f157702 into Stellar-Insightss:main Aug 28, 2026
christabel888 pushed a commit to ndii-dev/backend that referenced this pull request Aug 28, 2026
Conflict in src/cache.rs was a trivial comment wording difference,
resolved by keeping the grammatically-correct plural.

Also fixed a real bug this merge chain exposed: Stellar-Insightss#54 and Stellar-Insightss#58 (both
already merged to main) independently numbered their migrations 031
(031_create_network_metrics_timeseries.sql and
031_create_daily_stat_snapshots.sql). sqlx::migrate! requires unique
version numbers per migration, so main was left in a broken state.
Renumbered the latter to 034_create_daily_stat_snapshots.sql (the
next free slot after 032/033) — no code or other migration references
the old filename.

Verified with cargo check (clean).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Design and migrate time-series schema for daily network metrics

3 participants