owlette docs
dashboard

machine monitoring

The dashboard provides real-time visibility into all your machines' health, performance, and process status.


machine status

online/offline detection

The agent sends a heartbeat to Firestore at an adaptive interval - every 5 seconds when the desktop app's window is open on the machine, 30 seconds when processes are running, or 120 seconds when idle.

The machine card status pill is binary:

statusconditionindicator
onlineAgent reports the machine as onlineGreen pill
offlineAgent reports offline, or the dashboard's local timeout fallback marks an old heartbeat offlineRed pill

The adjacent heartbeat timestamp uses a separate stale-display rule. Heartbeats newer than 5 minutes render as a clock time in the selected dashboard timezone. Heartbeats older than 5 minutes render as a relative age, such as 14m ago, in red.

last seen

Each machine shows a last-heartbeat timestamp. For offline or stale machines, this tells you when the machine last communicated. The timestamp tooltip always shows the full date, time, and timezone.


system metrics

Metrics are reported by the agent alongside each heartbeat (see adaptive interval above):

machine detail view

metric areavalues shown
CPUPer-CPU usage percentage, model, and temperature when reported
memoryRAM usage percentage plus used/derived total GB
disk/storagePer-volume storage percentage, used/total GB, and read/write disk I/O throughput
GPUPer-GPU usage percentage, VRAM usage, and temperature when reported
networkPer-NIC transmit/receive throughput and utilization, plus gateway ping latency and packet-loss percentage when available
displaysLive monitor topology, monitor count, effective resolution after rotation, primary-display marker, mosaic data, display-drift indicator, and auto-restore circuit-breaker indicator. See displays
local timeMachine local clock and IANA timezone when multiple machine timezones are visible
screen accessMachine-menu entry points for screenshot capture/history and live view on online machines

color coding

Usage metrics use the same threshold bands as the dashboard accent bars and hover rings:

colorthresholdmeaning
Emerald0-29%Low usage
Violet30-49%Medium-low usage
Sky50-69%Medium usage
Amber70-84%High usage
Red85-100%Critical usage

Temperature values use separate hardware thresholds: normal below 70 C, warning from 70 C to below 85 C, and critical at 85 C or higher. Temperatures can display in Celsius or Fahrenheit according to the user's preferences.

picking which device a row shows

A machine with more than one CPU, disk, GPU, or network interface gets a small dropdown on that metric row. The dropdown is hidden when there is only one device to choose from.

auto (most active) is the default: the row follows whichever device the agent reports as primary. Pick a specific device and the row pins to it.

The choice is yours alone and is remembered per machine in card view, and once for the whole table in list view. If a pinned device disappears from a machine — a disk unmounted, a NIC removed — the row falls back to the primary device rather than going blank.


view modes

card view

The default view displays each machine as a card:

  • Machine name and status indicator
  • Last-heartbeat timestamp and optional local machine clock/timezone
  • CPU, memory, disk/storage, GPU, and network metrics
  • Disk read/write throughput and network transmit/receive throughput
  • Display topology summary with drift and auto-restore indicators
  • Sparkline mini-charts showing recent trends
  • Process list with status badges
  • Agent version
  • The machine menu (⋮) — every action it offers is listed under the machine menu below

Click a machine card to expand details.

list view

A compact table view with sortable columns:

  • Machine name
  • Status (online/offline)
  • CPU, memory, disk/storage, GPU, and network values
  • Display entry point with drift and auto-restore indicators
  • Process count
  • Last heartbeat
  • Agent version

Useful when managing many machines.


sparkline charts

Each metric in card view shows a tiny sparkline chart representing recent values. These give you an at-a-glance trend without clicking into the machine.


historical metrics

Click on a machine to view detailed historical metrics:

time ranges

range
hour
day
week
month
year
all

charts

The metrics detail panel shows interactive Recharts line graphs for:

  • CPU usage and temperature over time
  • Memory usage over time
  • Per-disk storage usage over time
  • Per-volume disk I/O read/write activity
  • GPU usage, VRAM usage, and temperature over time (if available)
  • Per-NIC network transmit/receive utilization or throughput
  • Display topology detail through the display panel

Hover over data points for exact values and timestamps.


process status

Each machine card shows its configured processes with status badges:

badgestatemeaning
GreenRUNNINGProcess is alive and responding
YellowLAUNCHINGLaunch is in progress
YellowQUEUEDLaunch is queued or waiting on a start delay
YellowRESTARTINGOperator-initiated restart is in flight
YellowSTALLEDProcess exists but not responding
RedLAUNCH_FAILEDLaunch was attempted and failed - the badge reads failed
RedKILLEDProcess was terminated
RedSTOPPEDLaunch mode is not off but nothing is running - crashed, outside its schedule window, not yet launched, or the executable is missing
GreyINACTIVELaunch mode is off - owlette is not supervising this process

When a machine is offline the dashboard cannot know the current state, so every process badge reads unknown instead of its last status.

Click a process to open the Process Dialog for management and configuration.


restart pending

When a managed process exhausts its relaunch attempts, the agent stops trying and asks for a restart instead of deciding on its own. It raises a restart pending flag on the machine, and the card shows an amber banner naming the process — restart pending: ndi_recording crashed 3 times.

The machine itself also opens a restart prompt on its own screen, as a local fallback for a machine nobody is watching from the dashboard. That prompt has a two-minute countdown and restarts the machine on its own if nobody touches it — so the banner is usually a record of a restart that is about to happen anyway, not a decision waiting on you. See relaunch limits.

Site admins get two actions on the banner:

actionwhat it does
approveSends the restart command, exactly as restart machine would. Only offered while the machine is online — the command would be refused otherwise.
dismissClears the flag and resets that process's relaunch counter, so it gets a fresh set of attempts.

The banner outlives an unreachable machine. The flag is agent-written and only the agent's next service start clears it locally, so a machine that crashed and never came back keeps showing it. The banner renders greyed rather than amber in that case and adds machine offline, cannot restart — it is a record of something that happened, not a live alarm.

Dismiss still works on an offline machine. It clears cloud state through the API rather than asking the agent, which is exactly the case that most needs clearing.

Dismissing requires MACHINE_EXEC_COMMAND — the same bar as sending the restart itself.


reboot countdown & cancel

When a reboot or shutdown is scheduled (from the dashboard, from hoot, from a restart schedule, or via the Tier 3 reboot_machine / shutdown_machine tools), the machine card displays a red pulsing MM:SS countdown timer in place of its normal status indicator. This gives the operator a visible, unambiguous window in which to abort.

timing

  • Reboot and shutdown commands use a 30-second delay so running processes can flush state.
  • The Cancel button on the machine card is the full-dashboard equivalent of the cancel_reboot tool. The agent runs shutdown /a and clears the reboot or shutdown flags.
  • Hovering the countdown swaps the MM:SS text to cancel; clicking it sends the cancel command.
  • Cancel is available while more than 5 seconds remain in the countdown. The final 5 seconds are locked because Windows shutdown /a is unreliable once the shutdown is already committing.
  • If the current user is not a site admin, no cancel handler is available, or the countdown has entered the final 5 seconds, the card shows a text-only rebooting... or shutting down... pill instead of a clickable countdown.
  • Once the countdown expires the machine card flips to a rebooting or shutting-down state and the cancel path closes.

This behavior was introduced in v2.6.2 (commit 52e1ed8) and replaces the older fire-and-forget reboot UX.


the machine menu

The ⋮ button on a card or row opens the machine menu. What it offers depends on whether the machine is online and whether you are a site admin:

actionneedswhat it does
restart machineonline, site adminReboots the machine after a 30-second delay. See reboot countdown & cancel
schedule restartssite adminOpens the restart schedule editor. On an online machine it is the small sliders icon beside restart machine; on an offline one it is a menu item of its own
shutdown machineonline, site adminPowers the machine off, same 30-second delay
cancel restart / cancel shutdownonline, site admin, countdown runningReplaces the two entries above while a countdown is in flight
screenshotonlineCaptures the machine's screen and opens the screenshot history
swooponline, agent reports it can streamOpens the live remote-desktop session — see swoop, which covers the site policy that decides whether the session itself is allowed
live viewonline, agent cannot streamThe older screenshot slideshow. Exactly one of swoop and live view is ever offered, so the menu never loses its screen entry
view displaysany signed-in userOpens the displays panel
mute alerts / unmute alertsany signed-in userSilences every alert email for this machine, for you only. Listed under account settings → alerts
revoke tokensite adminInvalidates the agent's refresh token for this hostname. See below
remove machinesite adminRemoves the machine from the site. See below

An offline machine keeps schedule restarts, view displays, mute alerts, revoke token and remove machine — everything else needs an agent on the other end.

revoke token

Revoking invalidates the agent's stored refresh token, so that agent can no longer reconnect until it is paired again. Two scopes are offered: the most recently used token for the hostname, or every token for it.

This is the per-machine version of the token management page, which does the same thing across a whole site.

remove machine

Removal is permanent and deletes the machine's data, process configuration, and command history, and deregisters the agent.

  • A machine with deployments in progress cannot be removed. The dialog blocks confirmation until they finish.
  • An online machine can be removed. Its agent notices and stops syncing.
  • Getting it back means re-running the installer and pairing it again with a fresh 3-word phrase.

machine information

Each machine reports additional details:

fielddescription
HostnameWindows computer name (used as machine ID)
OSWindows version (e.g., "Windows 11 Pro 10.0.22631")
CPU modelProcessor name (e.g., "Intel Core i9-9900X")
Agent versionInstalled owlette version (e.g., "2.1.8")
UptimeTime since last agent start

On this page