Stream CSV exports instead of loading every row#218 · opened by Bellwether · OPP-118 Affected12 accounts, $184k ARR Success metricexport_success_rate 62% → 95% Guardrailsp95 API latency, error rate Rolloutflag export_streaming, 1% → 100% sentryTypeError in /export, 212 events in 7 days zendesk“Export is greyed out for our big tables” gong“We’d pay for a bigger plan if exports worked” posthog31.4% of export_clicked never reach export_done - const rows = await db.select(query) - return toCSV(rows) + for await (const page of db.pages(query, 1000)) { + stream.write(toCSV(page)) + } Win+34 export_success_rate, 62% → 96% after merge. Dotted line is the 10% holdout.