src.nth.io/

summaryrefslogtreecommitdiff
path: root/main/state_client.h
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2026-07-15 18:04:31 -0500
committerLuke Hoersten <[email protected]>2026-07-15 18:04:31 -0500
commit6ee12595d339eeafc7fdc7dbb9ba4c4c757f3565 (patch)
treef83470042963c24b2eef87b54d7d484ff0ca11be /main/state_client.h
parent55303088ea499017c75203eef71588d18609f124 (diff)
stream: instrument TCP-window decomposition (wire kbps, hdr_gap, pend_age)
Before touching CONFIG_LWIP_TCP_WND_DEFAULT, make the window question decidable from the logs. New per-window metrics in the stream log, /state, and stats struct: - wire min/avg/max kbps: instantaneous throughput while each body drained (jpeg_len/recv_us). Ceiling ~= TCP_WND/RTT, so it scales with the window iff the window is the limiter. - hdr_gap min/avg/max us: time blocked waiting for the next header after finishing a body. Large = sender-paced; ~0 = receive path is the bottleneck. - pend_age min/avg/max us: publish->claim latency of painted frames. Growing across windows = queue backlog building, the failure mode that killed the previous WND=65535 attempt. Together with recv/dec/paint the frame interval is now fully decomposable: interval ~= hdr_gap + recv + pend_age + dec + paint. Also stamp TCP_WND/TCP_MSS/RECVMBOX into the client-connect log line so every capture is self-labeled with the config it ran under.
Diffstat (limited to 'main/state_client.h')
0 files changed, 0 insertions, 0 deletions