Skip to content

fix: seed ClickHouse metrics + show gaps in status#98

Merged
jxom merged 2 commits intomainfrom
fix/status-gaps
Feb 25, 2026
Merged

fix: seed ClickHouse metrics + show gaps in status#98
jxom merged 2 commits intomainfrom
fix/status-gaps

Conversation

@jxom
Copy link
Copy Markdown
Member

@jxom jxom commented Feb 25, 2026

Summary

Two fixes for the status display:

1. Seed ClickHouse metrics on startup

ClickHouse row counts and watermarks were showing only writes since last restart. Now seed_metrics_from_clickhouse() queries max(block_num) and count() per table on startup.

  • Adds ClickHouseSink::row_count() helper
  • Seeds watermarks and row counts right after schema init

2. Show gaps inline + fix ETA/progress

  • Blocks row now uses the store's own watermark instead of synced_num (which is 0 during gap-fill)
  • Gap count shown inline: blocks 493,790 / 6,230,479 (7%) (2 gaps)
  • ETA uses gap_blocks instead of synced_num so it appears during backfill
  • Filters out negative sync_rate values

Changes

  • src/cli/up.rs: seed_metrics_from_clickhouse()
  • src/cli/status.rs: gap display, ETA fix, use store watermark for blocks progress
  • src/sync/ch_sink.rs: row_count() method

jxom and others added 2 commits February 25, 2026 16:03
- Add seed_metrics_from_clickhouse() to populate in-memory watermarks
  and row counts from ClickHouse on startup (max block + count per table)
- Add ClickHouseSink::row_count() helper
- Fix ETA display: use gap_blocks instead of synced_num (which is 0
  during gap-fill) so ETA appears during backfill
- Show gap_blocks remaining in status display

Amp-Thread-ID: https://ampcode.com/threads/T-019c930c-df99-724a-a41b-65c98b607256
Co-authored-by: Amp <amp@ampcode.com>
Shows gaps beside the blocks progress line for each store, e.g.:
  blocks     493,790 / 6,230,479 (7%) (2 gaps)

Also fixes blocks progress to use the store's own watermark instead
of synced_num (which is 0 during gap-fill).

Amp-Thread-ID: https://ampcode.com/threads/T-019c930c-df99-724a-a41b-65c98b607256
Co-authored-by: Amp <amp@ampcode.com>
@jxom jxom merged commit 6d6d5c1 into main Feb 25, 2026
1 check passed
o-az pushed a commit that referenced this pull request Apr 27, 2026
* fix: seed ClickHouse metrics on startup + use gap_blocks for ETA

- Add seed_metrics_from_clickhouse() to populate in-memory watermarks
  and row counts from ClickHouse on startup (max block + count per table)
- Add ClickHouseSink::row_count() helper
- Fix ETA display: use gap_blocks instead of synced_num (which is 0
  during gap-fill) so ETA appears during backfill
- Show gap_blocks remaining in status display

Amp-Thread-ID: https://ampcode.com/threads/T-019c930c-df99-724a-a41b-65c98b607256
Co-authored-by: Amp <amp@ampcode.com>

* feat: show gap count inline on blocks row in status display

Shows gaps beside the blocks progress line for each store, e.g.:
  blocks     493,790 / 6,230,479 (7%) (2 gaps)

Also fixes blocks progress to use the store's own watermark instead
of synced_num (which is 0 during gap-fill).

Amp-Thread-ID: https://ampcode.com/threads/T-019c930c-df99-724a-a41b-65c98b607256
Co-authored-by: Amp <amp@ampcode.com>

---------

Co-authored-by: Amp <amp@ampcode.com>
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.

1 participant