feat(backend): implement latency tracking in WorkerHub (#166) #225

Merged
jack merged 1 commit from feat/166-latency-tracking into main 2026-01-24 17:50:02 +00:00
Owner

Summary

  • Add latencyHistory and lastPingTime to ConnectedWorker interface
  • Send WebSocket pings during heartbeat checks
  • Track round-trip latency from pong responses (keep last 10 measurements)
  • Calculate average latency across all workers in getStats()

Implementation

Uses native WebSocket ping/pong frames for accurate latency measurement:

  1. During checkHeartbeats(), send a ping to each connected worker
  2. On pong response, calculate round-trip time and store in history
  3. Keep sliding window of last 10 measurements per worker
  4. getStats() calculates average across all workers

Test plan

  • Verify latency is tracked after worker connects
  • Check average latency appears in stats endpoint
  • Test with multiple workers to verify aggregation

Closes #166

🤖 Generated with Claude Code

## Summary - Add `latencyHistory` and `lastPingTime` to `ConnectedWorker` interface - Send WebSocket pings during heartbeat checks - Track round-trip latency from pong responses (keep last 10 measurements) - Calculate average latency across all workers in `getStats()` ## Implementation Uses native WebSocket ping/pong frames for accurate latency measurement: 1. During `checkHeartbeats()`, send a ping to each connected worker 2. On pong response, calculate round-trip time and store in history 3. Keep sliding window of last 10 measurements per worker 4. `getStats()` calculates average across all workers ## Test plan - [ ] Verify latency is tracked after worker connects - [ ] Check average latency appears in stats endpoint - [ ] Test with multiple workers to verify aggregation Closes #166 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(backend): implement latency tracking in WorkerHub (#166)
All checks were successful
CI / build (pull_request) Successful in 1m12s
d4b5842a51
- Add latencyHistory and lastPingTime to ConnectedWorker interface
- Send WebSocket pings during heartbeat checks
- Track round-trip latency from pong responses (keep last 10 measurements)
- Calculate average latency across all workers in getStats()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
jack merged commit 7bcc4e02ef into main 2026-01-24 17:50:02 +00:00
Sign in to join this conversation.
No description provided.