pub struct HardwareInfo {Show 16 fields
pub timestamp: u64,
pub cpu: CPUInfo,
pub gpus: Vec<GPUInfo>,
pub npus: Vec<NPUInfo>,
pub tpus: Vec<TPUInfo>,
pub arm_hardware: Option<ARMHardwareInfo>,
pub fpgas: Vec<FPGAInfo>,
pub memory: MemoryInfo,
pub storage_devices: Vec<StorageInfo>,
pub network_interfaces: Vec<NetworkInfo>,
pub battery: Option<BatteryInfo>,
pub thermal: ThermalInfo,
pub pci_devices: Vec<PCIDevice>,
pub usb_devices: Vec<USBDevice>,
pub power_profile: Option<PowerProfile>,
pub virtualization: VirtualizationInfo,
}
Expand description
Complete system hardware information
Fields§
§timestamp: u64
Timestamp when the hardware information was collected
cpu: CPUInfo
CPU information
gpus: Vec<GPUInfo>
GPU information (multiple GPUs supported)
npus: Vec<NPUInfo>
NPU information (Neural Processing Units)
tpus: Vec<TPUInfo>
TPU information (Tensor Processing Units)
arm_hardware: Option<ARMHardwareInfo>
ARM-specific hardware information (if running on ARM)
fpgas: Vec<FPGAInfo>
FPGA accelerators
memory: MemoryInfo
Memory information
storage_devices: Vec<StorageInfo>
Storage devices
network_interfaces: Vec<NetworkInfo>
Network interfaces
battery: Option<BatteryInfo>
Battery information (if available)
thermal: ThermalInfo
Thermal sensors and fans
pci_devices: Vec<PCIDevice>
PCI devices
usb_devices: Vec<USBDevice>
USB devices
power_profile: Option<PowerProfile>
Power consumption and efficiency profile
virtualization: VirtualizationInfo
Virtualization environment information
Implementations§
Source§impl HardwareInfo
impl HardwareInfo
Sourcepub fn arm_hardware(&self) -> Option<&ARMHardwareInfo>
pub fn arm_hardware(&self) -> Option<&ARMHardwareInfo>
Get ARM hardware information (if available)
Sourcepub fn memory(&self) -> &MemoryInfo
pub fn memory(&self) -> &MemoryInfo
Get memory information
Sourcepub fn storage_devices(&self) -> &[StorageInfo]
pub fn storage_devices(&self) -> &[StorageInfo]
Get storage devices
Sourcepub fn network_interfaces(&self) -> &[NetworkInfo]
pub fn network_interfaces(&self) -> &[NetworkInfo]
Get network interfaces
Sourcepub fn battery(&self) -> Option<&BatteryInfo>
pub fn battery(&self) -> Option<&BatteryInfo>
Get battery information (if available)
Sourcepub fn thermal(&self) -> &ThermalInfo
pub fn thermal(&self) -> &ThermalInfo
Get thermal information
Sourcepub fn pci_devices(&self) -> &[PCIDevice]
pub fn pci_devices(&self) -> &[PCIDevice]
Get PCI devices
Sourcepub fn usb_devices(&self) -> &[USBDevice]
pub fn usb_devices(&self) -> &[USBDevice]
Get USB devices
Sourcepub fn power_profile(&self) -> Option<&PowerProfile>
pub fn power_profile(&self) -> Option<&PowerProfile>
Get power profile information (if available)
Sourcepub fn virtualization(&self) -> &VirtualizationInfo
pub fn virtualization(&self) -> &VirtualizationInfo
Get virtualization information
Sourcepub fn is_arm_system(&self) -> bool
pub fn is_arm_system(&self) -> bool
Check if system is ARM-based
Sourcepub fn is_virtualized(&self) -> bool
pub fn is_virtualized(&self) -> bool
Check if running in a virtualized environment
Sourcepub fn is_containerized(&self) -> bool
pub fn is_containerized(&self) -> bool
Check if running in a container
Sourcepub fn virtualization_performance_impact(&self) -> f64
pub fn virtualization_performance_impact(&self) -> f64
Get estimated performance impact from virtualization (0.0 to 1.0)
Sourcepub fn accelerator_count(&self) -> usize
pub fn accelerator_count(&self) -> usize
Get count of specialized accelerators (NPUs + TPUs + FPGAs)
Sourcepub fn accelerator_summary(&self) -> HashMap<String, usize>
pub fn accelerator_summary(&self) -> HashMap<String, usize>
Get comprehensive accelerator information
Trait Implementations§
Source§impl Clone for HardwareInfo
impl Clone for HardwareInfo
Source§fn clone(&self) -> HardwareInfo
fn clone(&self) -> HardwareInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more