package system import "log" // DebugLogger, when non-nil, enables debug-level logging for the system package. // Set this to the application's *log.Logger when config logging.level == "debug". // When nil, no debug output is emitted. var DebugLogger *log.Logger // debugf logs a formatted message if DebugLogger is set. func debugf(format string, args ...any) { if DebugLogger != nil { DebugLogger.Printf(format, args...) } } // SystemInfo holds system resource usage information. type SystemInfo struct { TotalMemMB uint64 `json:"total_mem_mb"` UsedMemMB uint64 `json:"used_mem_mb"` AvailMemMB uint64 `json:"avail_mem_mb"` MemPercent float64 `json:"mem_percent"` DiskTotalGB float64 `json:"disk_total_gb"` DiskUsedGB float64 `json:"disk_used_gb"` DiskAvailGB float64 `json:"disk_avail_gb"` DiskPercent float64 `json:"disk_percent"` HDDTotalGB float64 `json:"hdd_total_gb,omitempty"` HDDUsedGB float64 `json:"hdd_used_gb,omitempty"` HDDAvailGB float64 `json:"hdd_avail_gb,omitempty"` HDDPercent float64 `json:"hdd_percent,omitempty"` HDDConfigured bool `json:"hdd_configured"` CPUPercent float64 `json:"cpu_percent"` LoadAvg1 float64 `json:"load_avg_1"` LoadAvg5 float64 `json:"load_avg_5"` LoadAvg15 float64 `json:"load_avg_15"` TemperatureCelsius float64 `json:"temperature_celsius"` TemperatureSource string `json:"temperature_source,omitempty"` }