Backend:
- Track all k6 HTTP phase metrics via PHASE_MAP in ingestPoint:
http_req_blocked (DNS+wait), http_req_connecting, http_req_tls_handshaking,
http_req_sending, http_req_waiting (TTFB), http_req_receiving
- Compute avg + p95 per phase in computeLiveMetrics, broadcast every second
- parseSummary now captures all trend metrics with generic trendRe()
Frontend:
- Live waterfall bar chart updates every second during the test
- Each phase has a distinct colour: indigo/sky/purple/emerald/amber/blue
- Bar width = phase avg as % of total request time
- TTFB p95 + p99 shown below the waterfall
- Bars animate smoothly with CSS transitions
- Waterfall resets cleanly on new test start
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>