A quiet panel is not a calm one. In August 2003 an alarm list stayed empty because the alarm processor behind it had stalled, and nobody could tell that silence from a healthy one. A watchdog draws the path a screen depends on, one ring per stage, and a stage counts as working only when its counter moves: a beat that repeats its counter is running, not working. While any stage is unproven, the panel it guards is marked UNPROVEN QUIET, or PATH NOT PROVEN if it is showing alerts. A monitor that comes by the same feed as the panel refuses to vouch for it, and the page counts its own ticks so that a frozen page is seen afterwards. Every beat on this page is made by the page's own timer: a demonstration.
import 'overscan'
import 'overscan/overscan.css'
<ov-watchdog
id="wd"
label="ALARM PATH"
guards="cw"
stages="FIELD SCAN:2, FRONT END:1, ALARM PROC:2"
></ov-watchdog>import { OvWatchdog } from 'overscan/react'
<OvWatchdog
id="wd"
label="ALARM PATH"
guards="cw"
stages="FIELD SCAN:2, FRONT END:1, ALARM PROC:2"
/>import { OvWatchdog } from 'overscan/vue'
<OvWatchdog
id="wd"
label="ALARM PATH"
guards="cw"
stages="FIELD SCAN:2, FRONT END:1, ALARM PROC:2"
/>import OvWatchdog from 'overscan/svelte/OvWatchdog.svelte'
<OvWatchdog
id="wd"
label="ALARM PATH"
guards="cw"
stages="FIELD SCAN:2, FRONT END:1, ALARM PROC:2"
/>Three stages feed the caution panel, each beating with a counter. STALL keeps the alarm processor beating with a counter that no longer moves: running, not working. Watch what the panel's silence is allowed to say.
import 'overscan'
import 'overscan/overscan.css'
<ov-watchdog
id="wd-ok"
label="EXCEPTION FEED"
guards="cw-ok"
stages="KEEP-ALIVE:1"
></ov-watchdog>import { OvWatchdog } from 'overscan/react'
<OvWatchdog
id="wd-ok"
label="EXCEPTION FEED"
guards="cw-ok"
stages="KEEP-ALIVE:1"
/>import { OvWatchdog } from 'overscan/vue'
<OvWatchdog
id="wd-ok"
label="EXCEPTION FEED"
guards="cw-ok"
stages="KEEP-ALIVE:1"
/>import OvWatchdog from 'overscan/svelte/OvWatchdog.svelte'
<OvWatchdog
id="wd-ok"
label="EXCEPTION FEED"
guards="cw-ok"
stages="KEEP-ALIVE:1"
/>A report-by-exception feed says nothing when healthy. Only its keep-alive tells that silence from a dead one, so here the dark panel is allowed to be calm.
import 'overscan'
import 'overscan/overscan.css'
<ov-watchdog
id="wd-shared"
label="RELAY PATH"
source="relay"
guards="dl"
stages="RELAY:1"
></ov-watchdog>import { OvWatchdog } from 'overscan/react'
<OvWatchdog
id="wd-shared"
label="RELAY PATH"
source="relay"
guards="dl"
stages="RELAY:1"
/>import { OvWatchdog } from 'overscan/vue'
<OvWatchdog
id="wd-shared"
label="RELAY PATH"
source="relay"
guards="dl"
stages="RELAY:1"
/>import OvWatchdog from 'overscan/svelte/OvWatchdog.svelte'
<OvWatchdog
id="wd-shared"
label="RELAY PATH"
source="relay"
guards="dl"
stages="RELAY:1"
/>The watchdog and the log both come by the relay feed. If the relay stalls, both go quiet together, so the watchdog refuses to vouch: NOT INDEPENDENT.
import 'overscan'
import 'overscan/overscan.css'
<ov-watchdog
id="wd-cold"
label="SCAN PATH"
guards="cw-cold"
stages="SCAN:1, PROC:1"
></ov-watchdog>import { OvWatchdog } from 'overscan/react'
<OvWatchdog
id="wd-cold"
label="SCAN PATH"
guards="cw-cold"
stages="SCAN:1, PROC:1"
/>import { OvWatchdog } from 'overscan/vue'
<OvWatchdog
id="wd-cold"
label="SCAN PATH"
guards="cw-cold"
stages="SCAN:1, PROC:1"
/>import OvWatchdog from 'overscan/svelte/OvWatchdog.svelte'
<OvWatchdog
id="wd-cold"
label="SCAN PATH"
guards="cw-cold"
stages="SCAN:1, PROC:1"
/>A panel just brought up, before its path has said anything. Dark, and not calm: UNPROVEN QUIET until the first counted beats arrive.