Skip to content

Log refresh-cycle steps and snapshot-rebuild phases#583

Merged
ptrlrd merged 1 commit into
mainfrom
chore/snapshot-rebuild-observability
Jul 10, 2026
Merged

Log refresh-cycle steps and snapshot-rebuild phases#583
ptrlrd merged 1 commit into
mainfrom
chore/snapshot-rebuild-observability

Conversation

@ptrlrd

@ptrlrd ptrlrd commented Jul 10, 2026

Copy link
Copy Markdown
Owner

The entity-stats snapshot rebuild is silent until it completes, so a rebuild that never finishes (prod is stuck serving snapshot v10, and no error is logged) can't be diagnosed from the logs.

Adds INFO logging only — no behavior change:

  • Refresh cycle (_run_refresh_cycle): times each step — charts prewarm done at Xs, stats summary done at Xs, leaderboard summary done at Xs, entering snapshot rebuild.
  • Snapshot rebuild (_build_cache_data): logs each phase — starting (loading run rows from the DB), loaded N run rows in Xs, now walking blob files, blob walk done in Xs (N entities), finalizing. Plus the existing snapshot rebuilt: N entities across M runs on completion.

After deploying this, the logs will show exactly where the stalled rebuild stops — whichever phase's "done" line never appears is the culprit. My working theory is the list(coll.find({})) full pull of ~740k run docs crawling under Mongo write-contention (heavy presence traffic), which these logs will confirm or refute.

ruff + compile clean.

The entity-stats snapshot rebuild is silent until it completes, so a rebuild that
never finishes (prod is stuck serving a stale snapshot) is undiagnosable from the
logs. Add INFO logs that time each refresh-cycle step (charts prewarm, stats
summary, leaderboard summary, then the snapshot rebuild) and each phase of the
rebuild itself (loading run rows from the DB, walking the blob files, finalizing
the Codex Elo fits). Whichever "done" log never arrives pinpoints where a stalled
rebuild is stuck. Logging only — no behavior change.
@ptrlrd ptrlrd merged commit 3782147 into main Jul 10, 2026
5 checks passed
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