mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 22:35:42 +00:00
Fix user wait window metric to measure actual user impact (#5275)
* Auto-invalidate game cache when flush marker is updated During warmup, the staging server may cache stale game data that was loaded before the active server flushed. Instead of exposing an RPC for cache invalidation (which leaks internal state), the server now automatically detects when the flush marker is updated and invalidates any cached games. Changes: - GamesManager: Added `invalidateCacheIfFlushMarkerUpdated()` that checks the flush marker's modification time and clears the cache if it's been updated since the last check - Called before checking if a game is in cache, so stale data is cleared before any attempt to use it - Removed the InvalidateGameCache RPC (no longer needed) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix user wait window metric to measure actual user impact The max user wait window was measuring from when nginx switching started (before recreation) instead of when it completed. This inflated the metric by ~12s because nginx recreation time was included. Users can only experience a wait AFTER nginx starts routing to the staging server, so we now measure from nginx_switch_end (after recreation completes) to flush_end. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -290,6 +290,8 @@ main() {
|
||||
exit 1
|
||||
fi
|
||||
log_info "[DEPLOY:${deploy_id}] Traffic switched to eagle-${staging} (lazy-loads will wait for flush marker)"
|
||||
local nginx_switch_end
|
||||
nginx_switch_end=$(date +%s)
|
||||
|
||||
# Step 5: Stop active instance (blocks until exit, ensuring flush completes)
|
||||
# Users may be lazy-loading on staging during this time - they'll wait for the marker.
|
||||
@@ -343,7 +345,7 @@ main() {
|
||||
local deploy_end_time
|
||||
deploy_end_time=$(date +%s)
|
||||
local total_duration=$((deploy_end_time - deploy_start_time))
|
||||
local user_wait_window=$((flush_end - nginx_switch_start))
|
||||
local user_wait_window=$((flush_end - nginx_switch_end))
|
||||
|
||||
log_info ""
|
||||
log_info "========================================="
|
||||
|
||||
Reference in New Issue
Block a user