From 73ebc36d6bb94f12b8fc420d7fafd842b58272b3 Mon Sep 17 00:00:00 2001 From: "kiloconnect[bot]" <240665456+kiloconnect[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 17:54:00 +0000 Subject: [PATCH] perf(providers): optimize gateway error rate query to avoid unnecessary view joins The query was using microdollar_usage_view which joins 13+ tables via LEFT JOINs, but only needs columns from microdollar_usage and microdollar_usage_metadata. Query now directly joins only these two tables. --- src/lib/providers/gateway-error-rate.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/lib/providers/gateway-error-rate.ts b/src/lib/providers/gateway-error-rate.ts index 8dbcdb64e6..54bde10257 100644 --- a/src/lib/providers/gateway-error-rate.ts +++ b/src/lib/providers/gateway-error-rate.ts @@ -7,14 +7,15 @@ const getGatewayErrorRate_cached = unstable_cache( console.debug(`[getGatewayErrorRate_cached] refreshing at ${new Date().toISOString()}`); const { rows } = await db.execute(sql` select - provider as "gateway", - 1.0 * count(*) filter(where has_error = true) / count(*) as "errorRate" - from microdollar_usage_view + mu.provider as "gateway", + 1.0 * count(*) filter(where mu.has_error = true) / count(*) as "errorRate" + from microdollar_usage mu + join microdollar_usage_metadata meta on mu.id = meta.id where true - and created_at >= now() - interval '10 minutes' - and is_user_byok = false - and provider in ('openrouter', 'vercel') - group by provider + and mu.created_at >= now() - interval '10 minutes' + and meta.is_user_byok = false + and mu.provider in ('openrouter', 'vercel') + group by mu.provider `); return z .array(