mirror of
https://github.com/tw93/Mole.git
synced 2026-02-11 18:14:01 +00:00
Prevent follow-up problems caused by empty health checks
This commit is contained in:
@@ -107,13 +107,21 @@ show_optimization_summary() {
|
|||||||
show_system_health() {
|
show_system_health() {
|
||||||
local health_json="$1"
|
local health_json="$1"
|
||||||
|
|
||||||
# Parse system health using jq
|
# Parse system health using jq with fallback to 0
|
||||||
local mem_used=$(echo "$health_json" | jq -r '.memory_used_gb')
|
local mem_used=$(echo "$health_json" | jq -r '.memory_used_gb // 0' 2>/dev/null || echo "0")
|
||||||
local mem_total=$(echo "$health_json" | jq -r '.memory_total_gb')
|
local mem_total=$(echo "$health_json" | jq -r '.memory_total_gb // 0' 2>/dev/null || echo "0")
|
||||||
local disk_used=$(echo "$health_json" | jq -r '.disk_used_gb')
|
local disk_used=$(echo "$health_json" | jq -r '.disk_used_gb // 0' 2>/dev/null || echo "0")
|
||||||
local disk_total=$(echo "$health_json" | jq -r '.disk_total_gb')
|
local disk_total=$(echo "$health_json" | jq -r '.disk_total_gb // 0' 2>/dev/null || echo "0")
|
||||||
local disk_percent=$(echo "$health_json" | jq -r '.disk_used_percent')
|
local disk_percent=$(echo "$health_json" | jq -r '.disk_used_percent // 0' 2>/dev/null || echo "0")
|
||||||
local uptime=$(echo "$health_json" | jq -r '.uptime_days')
|
local uptime=$(echo "$health_json" | jq -r '.uptime_days // 0' 2>/dev/null || echo "0")
|
||||||
|
|
||||||
|
# Ensure all values are numeric (fallback to 0)
|
||||||
|
mem_used=${mem_used:-0}
|
||||||
|
mem_total=${mem_total:-0}
|
||||||
|
disk_used=${disk_used:-0}
|
||||||
|
disk_total=${disk_total:-0}
|
||||||
|
disk_percent=${disk_percent:-0}
|
||||||
|
uptime=${uptime:-0}
|
||||||
|
|
||||||
# Compact one-line format with icon
|
# Compact one-line format with icon
|
||||||
printf "${ICON_ADMIN} System %.0f/%.0f GB RAM | %.0f/%.0f GB Disk (%.0f%%) | Uptime %.0fd\n" \
|
printf "${ICON_ADMIN} System %.0f/%.0f GB RAM | %.0f/%.0f GB Disk (%.0f%%) | Uptime %.0fd\n" \
|
||||||
@@ -372,6 +380,21 @@ main() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Validate JSON before proceeding
|
||||||
|
if ! echo "$health_json" | jq empty 2>/dev/null; then
|
||||||
|
if [[ -t 1 ]]; then
|
||||||
|
stop_inline_spinner
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
log_error "Invalid system health data format"
|
||||||
|
echo -e "${YELLOW}Tip:${NC} Check if jq, awk, sysctl, and df commands are available"
|
||||||
|
if [[ "${MO_DEBUG:-}" == "1" ]]; then
|
||||||
|
echo "DEBUG: Generated JSON:"
|
||||||
|
echo "$health_json"
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -t 1 ]]; then
|
if [[ -t 1 ]]; then
|
||||||
stop_inline_spinner
|
stop_inline_spinner
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user