/api/directory's time is mostly outside any span #250
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
GET /api/directory took 983 ms at 2026-10-15 15:45:23 (trace b20f42f508d059462a52865c0c4fcdc2), three seconds into a scan that began 15:45:20; its spans: the directory's GET /v1/feeds 16 ms and feed_summary 3 ms. The other ~960 ms is ipx's own work, uncovered: reading the directory's 458 KB answer (the client span ends at its headers), subscriptions() and matching 1,471 listings in rows_for. Directly the directory answers in 12-127 ms, and ipx's /api/directory in 113-351 ms when no scan runs. Steps for the read and the matching would say which part waits on the scan. #248 fetches it ahead, so it is seldom waited for.
Fixed in
3d94bce, deployed in ipx 1.2.1-dev: call() is a span, directory_call, with the answer's size, and rows_for has subscriptions, catalogue and match steps. A Directory request now (trace 7e0856adcaab8ea0d95d32d1a16d2c98): 159 ms, of which directory_call 148 ms (the directory's own GET /v1/feeds 14 ms, the rest reading and parsing its 603,241-byte answer, larger since Apple's charts, #252), subscriptions 1, catalogue 4, match 1. The next slow one will say which part waited.