feat: Add CPU temperature display next to system CPU load

This commit is contained in:
SamNet-dev
2026-02-05 09:19:43 -06:00
parent bb56a77c37
commit 80d06c520c

View File

@@ -1360,8 +1360,8 @@ get_cpu_cores() {
} }
get_system_stats() { get_system_stats() {
# Get System CPU (Live Delta) and RAM # Get System CPU (Live Delta), CPU Temp, and RAM
# Returns: "CPU_PERCENT RAM_USED RAM_TOTAL RAM_PCT" # Returns: "CPU_PERCENT CPU_TEMP RAM_USED RAM_TOTAL RAM_PCT"
# 1. System CPU (Stateful Average) # 1. System CPU (Stateful Average)
local sys_cpu="0%" local sys_cpu="0%"
@@ -1391,7 +1391,23 @@ get_system_stats() {
sys_cpu="N/A" sys_cpu="N/A"
fi fi
# 2. System RAM (Used, Total, Percentage) # 2. CPU Temperature
local cpu_temp="-"
# Try thermal_zone first (most common)
if [ -f /sys/class/thermal/thermal_zone0/temp ]; then
local temp_raw=$(cat /sys/class/thermal/thermal_zone0/temp 2>/dev/null)
if [ -n "$temp_raw" ] && [ "$temp_raw" -gt 0 ] 2>/dev/null; then
cpu_temp="$((temp_raw / 1000))°C"
fi
# Try hwmon as fallback
elif [ -f /sys/class/hwmon/hwmon0/temp1_input ]; then
local temp_raw=$(cat /sys/class/hwmon/hwmon0/temp1_input 2>/dev/null)
if [ -n "$temp_raw" ] && [ "$temp_raw" -gt 0 ] 2>/dev/null; then
cpu_temp="$((temp_raw / 1000))°C"
fi
fi
# 3. System RAM (Used, Total, Percentage)
local sys_ram_used="N/A" local sys_ram_used="N/A"
local sys_ram_total="N/A" local sys_ram_total="N/A"
local sys_ram_pct="N/A" local sys_ram_pct="N/A"
@@ -1410,7 +1426,7 @@ get_system_stats() {
fi fi
fi fi
echo "$sys_cpu $sys_ram_used $sys_ram_total $sys_ram_pct" echo "$sys_cpu $cpu_temp $sys_ram_used $sys_ram_total $sys_ram_pct"
} }
show_live_stats() { show_live_stats() {
@@ -2607,9 +2623,12 @@ show_status() {
local app_ram=$(echo "$stats" | awk '{print $2, $3, $4}') local app_ram=$(echo "$stats" | awk '{print $2, $3, $4}')
local sys_cpu=$(echo "$sys_stats" | awk '{print $1}') local sys_cpu=$(echo "$sys_stats" | awk '{print $1}')
local sys_ram_used=$(echo "$sys_stats" | awk '{print $2}') local sys_temp=$(echo "$sys_stats" | awk '{print $2}')
local sys_ram_total=$(echo "$sys_stats" | awk '{print $3}') local sys_ram_used=$(echo "$sys_stats" | awk '{print $3}')
local sys_ram_pct=$(echo "$sys_stats" | awk '{print $4}') local sys_ram_total=$(echo "$sys_stats" | awk '{print $4}')
local sys_ram_pct=$(echo "$sys_stats" | awk '{print $5}')
local sys_cpu_display="$sys_cpu"
[ "$sys_temp" != "-" ] && sys_cpu_display="${sys_cpu} (${sys_temp})"
local rx_mbps=$(echo "$net_speed" | awk '{print $1}') local rx_mbps=$(echo "$net_speed" | awk '{print $1}')
local tx_mbps=$(echo "$net_speed" | awk '{print $2}') local tx_mbps=$(echo "$net_speed" | awk '{print $2}')
@@ -2629,7 +2648,7 @@ show_status() {
echo -e "${EL}" echo -e "${EL}"
echo -e "${CYAN}═══ Resource Usage ═══${NC}${EL}" echo -e "${CYAN}═══ Resource Usage ═══${NC}${EL}"
printf " %-8s CPU: ${YELLOW}%-20s${NC} | RAM: ${YELLOW}%-20s${NC}${EL}\n" "App:" "$app_cpu_display" "$app_ram" printf " %-8s CPU: ${YELLOW}%-20s${NC} | RAM: ${YELLOW}%-20s${NC}${EL}\n" "App:" "$app_cpu_display" "$app_ram"
printf " %-8s CPU: ${YELLOW}%-20s${NC} | RAM: ${YELLOW}%-20s${NC}${EL}\n" "System:" "$sys_cpu" "$sys_ram_used / $sys_ram_total" printf " %-8s CPU: ${YELLOW}%-20s${NC} | RAM: ${YELLOW}%-20s${NC}${EL}\n" "System:" "$sys_cpu_display" "$sys_ram_used / $sys_ram_total"
printf " %-8s Net: ${YELLOW}%-43s${NC}${EL}\n" "Total:" "$net_display" printf " %-8s Net: ${YELLOW}%-43s${NC}${EL}\n" "Total:" "$net_display"
@@ -2639,7 +2658,7 @@ show_status() {
echo -e "${EL}" echo -e "${EL}"
echo -e "${CYAN}═══ Resource Usage ═══${NC}${EL}" echo -e "${CYAN}═══ Resource Usage ═══${NC}${EL}"
printf " %-8s CPU: ${YELLOW}%-20s${NC} | RAM: ${YELLOW}%-20s${NC}${EL}\n" "App:" "$app_cpu_display" "$app_ram" printf " %-8s CPU: ${YELLOW}%-20s${NC} | RAM: ${YELLOW}%-20s${NC}${EL}\n" "App:" "$app_cpu_display" "$app_ram"
printf " %-8s CPU: ${YELLOW}%-20s${NC} | RAM: ${YELLOW}%-20s${NC}${EL}\n" "System:" "$sys_cpu" "$sys_ram_used / $sys_ram_total" printf " %-8s CPU: ${YELLOW}%-20s${NC} | RAM: ${YELLOW}%-20s${NC}${EL}\n" "System:" "$sys_cpu_display" "$sys_ram_used / $sys_ram_total"
printf " %-8s Net: ${YELLOW}%-43s${NC}${EL}\n" "Total:" "$net_display" printf " %-8s Net: ${YELLOW}%-43s${NC}${EL}\n" "Total:" "$net_display"
echo -e "${EL}" echo -e "${EL}"
echo -e " Stats: ${YELLOW}Waiting for first stats...${NC}${EL}" echo -e " Stats: ${YELLOW}Waiting for first stats...${NC}${EL}"