Devsy
Managing your Machines

Machine Diagnostics

Use diagnostics when a machine did not stop when you expected. They report on the inactivity daemon that runs on the machine.

devsy machine diagnostics <machine-name>

The output separates the provider's machine state from the daemon's state, and lists the last patrol and each workspace. Add --result-format json for scripts.

When a machine stops

The daemon stops a machine only when every workspace on it passes its check. A workspace blocks the stop when it is busy, its inactivity deadline has not passed, its configuration is invalid, auto-stop is not configured, or its state file is unavailable.

An inactivity timeout must be a positive duration such as 30m. When unset, the provider's default applies. If the provider sets none, the daemon uses 20 minutes. See Inactivity timeout.

The shutdown candidate is one machine-level entry. It names the workspace with the latest inactivity deadline and shows that deadline as the eligible time. It appears only when no workspace blocks the stop. New activity moves the deadline.

Fields

FieldMeaning
Provider stateThe machine state the provider reports when you run the command. Shows unknown if the provider cannot be queried.
Daemon healthdegraded after the most recent patrol could not list workspace state or a shutdown action failed. Otherwise healthy. With no snapshot, health is not shown.
Snapshot freshnessfresh, stale, or unknown. A snapshot is stale when it is older than the greater of three patrol intervals or 90 seconds.
Last patrolWhen the daemon last checked workspace inactivity.
Last daemon errorThe latest failure in this daemon session. It stays after recovery, so check its timestamp.
Shutdown candidateSet when every workspace check allows a stop. Check the provider state to see whether the machine stopped.

Events

devsy machine logs <machine-name>

This shows recent daemon events: starts and stops, workspace discovery, inactivity deadlines, and shutdown results. Add --follow to keep polling for new ones. Older events are rotated out, and the output tells you when it detects a gap.

shutdown.succeeded means the stop command returned successfully. Check the provider state to confirm the machine stopped. If a completion event is missing, the machine may have shut down before it could be written.

Diagnostics never start a stopped machine. If they are stale or unavailable, check the provider state and connection first.

On this page