LobeLOBE

Learn

The Waterfall Score guide: what's normal per phase

Lobe’s Waterfall Score grades a HAR capture by checking every request’s DNS, TCP, TLS, TTFB, and download time against a network-appropriate baseline — the same thresholds below, in milliseconds. Nothing hidden: this is the exact table the grader uses.

The thresholds, by network category

A request is flagged when a phase exceeds its category’s expected maximum. Loopback, LAN, and remote get different budgets because the network floor is different — a 40ms TLS handshake is unremarkable over the public internet and a real anomaly on localhost.

CategoryDNSTCPTLSTTFBDownloadTotal
loopback1ms2ms10ms50ms20ms80ms
LAN20ms10ms40ms100ms50ms200ms
remote100ms100ms200ms500ms500ms1500ms

How the grade is calculated

The score is the percentage of requests in the capture with no phase over its baseline — a request that’s clean on DNS/TCP/TLS/TTFB/download counts, one flagged phase and it doesn’t. That percentage maps to a letter grade:

  • A — 95–100% of requests clean
  • B — 80–94%
  • C — 60–79%
  • D — 40–59%
  • F — under 40%

Warm, reused connections skip the DNS/TCP/TLS checks entirely — those phases are ~0 by definition once a connection is already established, so judging them against a cold-connection baseline would produce false positives on multiplexed HTTP/2 traffic. Only TTFB and total time are judged on reused connections.

Category is classified per host, not per capture

localhost and 127.0.0.1 are loopback; private ranges (10.x, 192.168.x, 172.16–31.x) and .local hostnames are LAN; everything else is remote. A single HAR mixing first-party API calls with third-party scripts gets each host graded against its own category’s budget.

Run your own capture through it: getlobe.dev/waterfall — free, no account, nothing saved.

Measure it instead of guessing: Lobe is a free, local HTTP profiler — one command captures every request’s DNS, TCP, TLS, TTFB, and download time, judged against grounded baselines. No agent, no account. brew install kpwithcode/lobe/lobe or cargo install lobe-cli. How it works →