Diagnose a remote sky10 machine through the local daemon socket using fresh debug dumps
Use this workflow when investigating another machine via the local
daemon socket at /tmp/sky10/sky10.sock.
If the user already has a dump key, skip straight to fetching it. Otherwise collect a fresh dump first.
skyfs.s3Delete to remove stale debug dumps when they will cause
confusion.skyfs.debug* and skyfs.s3* require S3-backed storage on the target
daemon. If the target is running P2P-only, this workflow does not
apply.All commands below use JSON-RPC over the Unix socket:
SOCK=/tmp/sky10/sky10.sock
Pretty-print responses with python3 -m json.tool.
echo '{"jsonrpc":"2.0","method":"skyfs.deviceList","id":1}' | nc -U "$SOCK" | python3 -m json.tool
Match the hostname or device_id from the user's report to the machine
you care about.
echo '{"jsonrpc":"2.0","method":"skyfs.debugList","id":1}' | nc -U "$SOCK" | python3 -m json.tool
Relevant keys look like debug/<deviceID>/<timestamp>.json.
Delete old dumps if they will make the investigation ambiguous:
echo '{"jsonrpc":"2.0","method":"skyfs.s3Delete","params":{"key":"debug/<deviceID>/<timestamp>.json"},"id":1}' | nc -U "$SOCK" | python3 -m json.tool
Repeat for each stale key you want gone.
Run this on the target machine, not the one doing the inspection:
echo '{"jsonrpc":"2.0","method":"skyfs.debugDump","id":1}' | nc -U "$SOCK" | python3 -m json.tool
This uploads a new dump under debug/<deviceID>/<timestamp>.json.
echo '{"jsonrpc":"2.0","method":"skyfs.debugGet","params":{"key":"debug/<deviceID>/<timestamp>.json"},"id":1}' | nc -U "$SOCK" | python3 -m json.tool
drives[].snapshot_files and snapshot_file_countdrives[].outbox and outbox_countdrives[].local_files and local_file_countremote_ops_recent and remote_ops_errordevices and devices_errornamespace_keys and namespace_keys_errorlogs_raw or logsBrowse prefixes directly when the dump is not enough:
echo '{"jsonrpc":"2.0","method":"skyfs.s3List","params":{"prefix":"debug/"},"id":1}' | nc -U "$SOCK" | python3 -m json.tool
echo '{"jsonrpc":"2.0","method":"skyfs.s3List","params":{"prefix":"ops/"},"id":1}' | nc -U "$SOCK" | python3 -m json.tool
echo '{"jsonrpc":"2.0","method":"skyfs.s3List","params":{"prefix":"keys/namespaces/"},"id":1}' | nc -U "$SOCK" | python3 -m json.tool
Summarize: