/api/directory's time is mostly outside any span #250

Closed
opened 2026-10-15 08:55:43 -07:00 by rays · 1 comment
Owner

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.

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.
rays added the enhancement label 2026-10-15 08:55:43 -07:00
Author
Owner

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.

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.
rays closed this issue 2026-10-16 06:52:16 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipx#250