Skip to content

Commit 0a70e6c

Browse files
committed
fix: pending calls
1 parent 10f881f commit 0a70e6c

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

apps/api/src/query/builders/uptime.ts

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import type { Filter, SimpleQueryConfig } from "../types";
88
* - site_id: Website identifier
99
* - url: Monitored URL
1010
* - timestamp: Check timestamp
11-
* - status: 1 = up, 0 = down
11+
* - status: 1 = up, 0 = down, 2 = pending (retry logic - excluded from uptime)
1212
* - http_code: HTTP response code
1313
* - ttfb_ms: Time to first byte (ms)
1414
* - total_ms: Total response time (ms)
@@ -25,9 +25,10 @@ export const UptimeBuilders: Record<string, SimpleQueryConfig> = {
2525
sql: `
2626
SELECT
2727
COUNT(*) as total_checks,
28-
sum(status) as successful_checks,
29-
COUNT(*) - sum(status) as failed_checks,
30-
round((sum(status) / COUNT(*)) * 100, 2) as uptime_percentage,
28+
countIf(status = 1) as successful_checks,
29+
countIf(status = 0) as failed_checks,
30+
countIf(status = 2) as pending_checks,
31+
if((countIf(status = 1) + countIf(status = 0)) = 0, 0, round((countIf(status = 1) / (countIf(status = 1) + countIf(status = 0))) * 100, 2)) as uptime_percentage,
3132
avg(total_ms) as avg_response_time,
3233
quantile(0.50)(total_ms) as p50_response_time,
3334
quantile(0.75)(total_ms) as p75_response_time,
@@ -73,9 +74,10 @@ export const UptimeBuilders: Record<string, SimpleQueryConfig> = {
7374
SELECT
7475
${timeGroup} as date,
7576
COUNT(*) as total_checks,
76-
sum(status) as successful_checks,
77-
COUNT(*) - sum(status) as failed_checks,
78-
round((sum(status) / COUNT(*)) * 100, 2) as uptime_percentage,
77+
countIf(status = 1) as successful_checks,
78+
countIf(status = 0) as failed_checks,
79+
countIf(status = 2) as pending_checks,
80+
if((countIf(status = 1) + countIf(status = 0)) = 0, 0, round((countIf(status = 1) / (countIf(status = 1) + countIf(status = 0))) * 100, 2)) as uptime_percentage,
7981
avg(total_ms) as avg_response_time,
8082
quantile(0.50)(total_ms) as p50_response_time,
8183
quantile(0.95)(total_ms) as p95_response_time,
@@ -230,9 +232,10 @@ export const UptimeBuilders: Record<string, SimpleQueryConfig> = {
230232
SELECT
231233
probe_region as region,
232234
COUNT(*) as total_checks,
233-
sum(status) as successful_checks,
234-
COUNT(*) - sum(status) as failed_checks,
235-
round((sum(status) / COUNT(*)) * 100, 2) as uptime_percentage,
235+
countIf(status = 1) as successful_checks,
236+
countIf(status = 0) as failed_checks,
237+
countIf(status = 2) as pending_checks,
238+
if((countIf(status = 1) + countIf(status = 0)) = 0, 0, round((countIf(status = 1) / (countIf(status = 1) + countIf(status = 0))) * 100, 2)) as uptime_percentage,
236239
avg(total_ms) as avg_response_time,
237240
quantile(0.95)(total_ms) as p95_response_time
238241
FROM ${UPTIME_TABLE}

0 commit comments

Comments
 (0)