Commit Graph

5 Commits

Author SHA1 Message Date
ed602fdb5f Fix timing: use performance.now() instead of Resource Timing API
Resource Timing entries are added asynchronously after fetch resolves,
causing a race condition. The simple performance.now() around fetch
gives accurate latency measurements without this issue.
2026-01-31 13:58:18 -08:00
0038f23460 Always check timing data even on fetch error (4xx/5xx)
Resource Timing API records latency even for error responses.
Now we check for timing data regardless of fetch success/failure,
only reporting unreachable if no timing data is available.
2026-01-30 22:25:32 -08:00
8be7002ad9 Fix latency measurement and chart direction
- Use Resource Timing API for accurate network latency instead of
  performance.now() around fetch (fixes ~600ms measurement error)
- Chart now shows latest sample at right edge, growing left
- Reduce request timeout from 5000ms to 1000ms
2026-01-30 22:23:35 -08:00
83d9d15b6c Change update interval to 2000ms and add play/pause button
- Update interval changed from 250ms to 2000ms (150 history points)
- Add large play/pause toggle button in header
- Show running/paused status indicator
- Pause stops all network requests, resume restarts them
2026-01-30 22:20:19 -08:00
65cc2014c6 Initial implementation of NetWatch network latency monitor
SPA for real-time latency monitoring to 10 internet hosts:
- 250ms update interval with 300s history sparkline graphs
- Color-coded latency display (green <50ms to red >500ms)
- HEAD request timing with no-cors mode for cross-origin support
- Built with Vite + Tailwind CSS v4, all dependencies bundled
- Designed for static bucket deployment
2026-01-29 21:32:19 -08:00