Openstatus www.openstatus.dev
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

๐Ÿ› url

+17 -17
+7 -7
apps/server/src/v1/check/post.test.ts
··· 24 24 mockFetch.mockReturnValue( 25 25 Promise.resolve( 26 26 new Response( 27 - '{"status":200,"latency":100,"body":"Hello World","headers":{"Content-Type":"application/json"},"timestamp":1234567890,"timing":{"dnsStart":1,"dnsDone":2,"connectStart":3,"connectDone":4,"tlsHandshakeStart":5,"tlsHandshakeDone":6,"firstByteStart":7,"firstByteDone":8,"transferStart":9,"transferDone":10},"region":"ams"}', 28 - { status: 200, headers: { "content-type": "application/json" } }, 29 - ), 30 - ), 27 + '{"status":200,"latency":100,"body":"Hello World","headers":{"Content-Type":"application/json"},"time":1234567890,"timing":{"dnsStart":1,"dnsDone":2,"connectStart":3,"connectDone":4,"tlsHandshakeStart":5,"tlsHandshakeDone":6,"firstByteStart":7,"firstByteDone":8,"transferStart":9,"transferDone":10},"region":"ams"}', 28 + { status: 200, headers: { "content-type": "application/json" } } 29 + ) 30 + ) 31 31 ); 32 32 33 33 const res = await api.request("/check", { ··· 94 94 Promise.resolve( 95 95 new Response( 96 96 '{"status":200,"latency":100,"body":"Hello World","headers":{"Content-Type":"application/json"},"timestamp":1234567890,"timing":{"dnsStart":1,"dnsDone":2,"connectStart":3,"connectDone":4,"tlsHandshakeStart":5,"tlsHandshakeDone":6,"firstByteStart":7,"firstByteDone":8,"transferStart":9,"transferDone":10},"region":"ams"}', 97 - { status: 200, headers: { "content-type": "application/json" } }, 98 - ), 99 - ), 97 + { status: 200, headers: { "content-type": "application/json" } } 98 + ) 99 + ) 100 100 ); 101 101 102 102 const res = await api.request("/check", {
+10 -10
apps/server/src/v1/check/post.ts
··· 63 63 for (let count = 0; count < input.runCount; count++) { 64 64 const currentFetch = []; 65 65 for (const region of input.regions) { 66 - const r = fetch(`https://checker.openstatus.dev/ping/${region}`, { 66 + const r = fetch(`https://openstatus-checker.fly.dev/ping/${region}`, { 67 67 headers: { 68 68 Authorization: `Basic ${env.CRON_SECRET}`, 69 69 "Content-Type": "application/json", ··· 108 108 if (aggregated) { 109 109 // This is ugly 110 110 const dnsArray = fulfilledRequest.map( 111 - (r) => r.timing.dnsDone - r.timing.dnsStart, 111 + (r) => r.timing.dnsDone - r.timing.dnsStart 112 112 ); 113 113 const connectArray = fulfilledRequest.map( 114 - (r) => r.timing.connectDone - r.timing.connectStart, 114 + (r) => r.timing.connectDone - r.timing.connectStart 115 115 ); 116 116 const tlsArray = fulfilledRequest.map( 117 - (r) => r.timing.tlsHandshakeDone - r.timing.tlsHandshakeStart, 117 + (r) => r.timing.tlsHandshakeDone - r.timing.tlsHandshakeStart 118 118 ); 119 119 const firstArray = fulfilledRequest.map( 120 - (r) => r.timing.firstByteDone - r.timing.firstByteStart, 120 + (r) => r.timing.firstByteDone - r.timing.firstByteStart 121 121 ); 122 122 const transferArray = fulfilledRequest.map( 123 - (r) => r.timing.transferDone - r.timing.transferStart, 123 + (r) => r.timing.transferDone - r.timing.transferStart 124 124 ); 125 125 const latencyArray = fulfilledRequest.map((r) => r.latency); 126 126 127 127 const dnsPercentile = percentile([50, 75, 95, 99], dnsArray) as number[]; 128 128 const connectPercentile = percentile( 129 129 [50, 75, 95, 99], 130 - connectArray, 130 + connectArray 131 131 ) as number[]; 132 132 const tlsPercentile = percentile([50, 75, 95, 99], tlsArray) as number[]; 133 133 const firstPercentile = percentile( 134 134 [50, 75, 95, 99], 135 - firstArray, 135 + firstArray 136 136 ) as number[]; 137 137 138 138 const transferPercentile = percentile( 139 139 [50, 75, 95, 99], 140 - transferArray, 140 + transferArray 141 141 ) as number[]; 142 142 const latencyPercentile = percentile( 143 143 [50, 75, 95, 99], 144 - latencyArray, 144 + latencyArray 145 145 ) as number[]; 146 146 147 147 const aggregate = z.object({