2.0 KiB
Prompt
The human reported repeated readiness without first-message relay, specifically after first attempting an invalid .usdm. FQME and then the corrected .usdtm. one. They requested distinct log messages for receive starvation versus local backpressure.
Response summary
Add phase-specific WARNING messages for each elapsed relay-loop deadline, with URL, timeout duration, accumulated count and reset threshold. Leave the existing shared receive/send deadline and counter/reset semantics intact. Do not claim that connected/ready sockets alone establish parsed quote recovery.
Read-only invalid-venue tracing found the usd substring check in Binance get_mkt_info() accepts USDM while retaining it in MktPair. Client.bars() later uses that market identity against canonical USDTM keys. Backend stream startup precedes history startup and sampler consumption. A relationship to the corrected-feed stall still needs runtime evidence; neither venue handling nor task lifetime behavior was changed by this diagnostic patch.
Files changed
piker/data/_web_bs.py: track and report the timed-out operation.tests/test_websocket.py: real silent-source and blocked-sink cases.- This prompt provenance pair.
Verification
15 selected Binance/websocket cases passed. The new cases exercise real TCP, websocket handshake and relay behavior, replacing only log observation. A zero-capacity relay deliberately forces the local-send case; the source-silent case never receives a payload. git diff –check passed. No live provider/daemon operations run.
Human edits
No direct source edits observed. The human supplied the critical invalid-symbol-then-corrected-symbol trigger and requested the phase distinction; live testing and task acceptance remain theirs.