<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ida-tui.git/experiments/call_census.py, branch main</title>
<subtitle>tui for headless ida</subtitle>
<id>https://git.sl0p.foo/ida-tui.git/atom/experiments/call_census.py?h=main</id>
<link rel='self' href='https://git.sl0p.foo/ida-tui.git/atom/experiments/call_census.py?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/'/>
<updated>2026-08-09T21:23:12Z</updated>
<entry>
<title>experiments: count backend round-trips per user action</title>
<updated>2026-08-09T21:23:12Z</updated>
<author>
<name>blasty</name>
<email>blasty@local</email>
</author>
<published>2026-08-09T21:23:12Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/commit/?id=74a272a2781aca297c812a494bbebce169e70f97'/>
<id>urn:sha1:74a272a2781aca297c812a494bbebce169e70f97</id>
<content type='text'>
Answers 'are we batching or paying a round-trip per item' with numbers.
Wraps CodeModeClient.invoke on a live pilot and reports calls + wall + ops
for each action.

The trap it encodes: ListingView._grow streams the whole segment on a worker
thread, so it lands calls continuously regardless of what the user does. A
naive census attributes that to whichever span is open and every action comes
out at a near-identical '~1 call per 10ms of pause', which measures the pause
and not the action. It now drains the grower first, reports it as its own
line, and measures the rest against a quiet backend.
</content>
</entry>
</feed>
