Skip to content

Commit debf476

Browse files
committed
adding new version
1 parent 2489606 commit debf476

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

lib/analytics-db.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,10 @@ class OptimizedAnalyticsCollector {
265265
COUNT(*) as total_requests,
266266
AVG("responseTime") as avg_response_time,
267267
PERCENTILE_CONT(0.95) WITHIN GROUP (ORDER BY "responseTime") as p95_response_time,
268-
COUNT(CASE WHEN "statusCode" >= 400 THEN 1 END) * 100.0 / COUNT(*) as error_rate
268+
CASE
269+
WHEN COUNT(*) = 0 THEN 0
270+
ELSE COUNT(CASE WHEN "statusCode" >= 400 THEN 1 END) * 100.0 / COUNT(*)
271+
END as error_rate
269272
FROM "AnalyticsRequest"
270273
WHERE timestamp >= ${cutoff}
271274
` as Array<{
@@ -277,11 +280,16 @@ class OptimizedAnalyticsCollector {
277280

278281
const metrics = result[0];
279282
return metrics ? {
280-
totalRequests: Number(metrics.total_requests),
283+
totalRequests: Number(metrics.total_requests || 0),
281284
avgResponseTime: Math.round(metrics.avg_response_time || 0),
282285
p95ResponseTime: Math.round(metrics.p95_response_time || 0),
283286
errorRate: Math.round((metrics.error_rate || 0) * 100) / 100
284-
} : null;
287+
} : {
288+
totalRequests: 0,
289+
avgResponseTime: 0,
290+
p95ResponseTime: 0,
291+
errorRate: 0
292+
};
285293
}
286294

287295
async getTopEndpoints(hoursBack = 24, limit = 10) {

0 commit comments

Comments
 (0)