package system

// 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"`
}
