main
Kyle Bergstedt log collector 22b1982 2d ago
#!/bin/bash
# Collects Hydrogen / VS Code / Claude Code logs into a zip on the Desktop. Read-only: changes nothing.
OUT=~/Desktop/hydrogen-debug-$(date +%H%M); mkdir -p "$OUT"
SUP="$HOME/Library/Application Support"; L="$SUP/adom/lima/bin/limactl"
{ sw_vers; uname -m; sysctl -n machdep.cpu.brand_string; echo "RAM GB: $(( $(sysctl -n hw.memsize) / 1073741824 ))"
  defaults read "/Applications/Adom Hydrogen.app/Contents/Info" CFBundleShortVersionString
  "$L" list; } > "$OUT/system.txt" 2>&1
cp "$SUP/adom-hydrogen/adom-hydrogen.log" "$OUT/" 2>/dev/null
cp ~/.adom/startup.log "$OUT/bridge-startup.log" 2>/dev/null
VM=$("$L" list -q 2>/dev/null | grep -E "hydrogen-builder|hd-builder" | head -1)
W(){ "$L" shell "$VM" -- sudo systemd-run -M Adom-Workspace --uid=adom -q --pipe --wait -E HOME=/home/adom /bin/bash -lc "$1"; }
W 'free -m; nproc; code-server --version; code-server --list-extensions --show-versions; ps -eo pid,rss,etime,args --sort=-rss | head -25' > "$OUT/workspace.txt" 2>&1
W 'cd ~/.local/share/code-server && tar czf - logs' > "$OUT/code-server-logs.tgz" 2>/dev/null
"$L" shell "$VM" -- sh -c 'sudo dmesg -T | grep -iE "out of memory|oom|killed process"' > "$OUT/vm-oom.txt" 2>&1
cd ~/Desktop && zip -qr "$(basename "$OUT").zip" "$(basename "$OUT")" && echo "Saved ~/Desktop/$(basename "$OUT").zip" && open -R "$HOME/Desktop/$(basename "$OUT").zip"