Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
814 B ยท 28 lines
TypeScript
1234567891011121314151617181920212223242526272829export const REPORT_THRESHOLD = 7;export const REPORT_WINDOW_MS = 15 * 60 * 1000;export const REPORT_WINDOW_MINUTES = REPORT_WINDOW_MS / 60_000;
export type EffectiveStatus = { indicator: string; status: string; escalated: boolean;};
export function computeEffectiveStatus(args: { providerIndicator: string; providerStatus: string; reporters: number; threshold: number;}): EffectiveStatus { const { providerIndicator, providerStatus, reporters, threshold } = args; const canEscalate = providerIndicator === "none" && providerStatus !== "under_maintenance"; if (canEscalate && reporters >= threshold) { return { indicator: "minor", status: providerStatus, escalated: true }; } return { indicator: providerIndicator, status: providerStatus, escalated: false, };}