pub struct RealTimeHardwareMonitor {
pub config: MonitoringConfig,
pub devices: Arc<RwLock<HashMap<String, MonitoredDevice>>>,
pub metrics_collector: Arc<Mutex<MetricsCollector>>,
pub adaptive_compiler: Arc<Mutex<AdaptiveCompiler>>,
pub alert_system: Arc<Mutex<AlertSystem>>,
pub failure_detector: Arc<Mutex<PredictiveFailureDetector>>,
pub performance_optimizer: Arc<Mutex<RealTimePerformanceOptimizer>>,
pub monitoring_active: Arc<AtomicBool>,
}Expand description
Real-time hardware monitoring system
Fields§
§config: MonitoringConfigMonitoring configuration
devices: Arc<RwLock<HashMap<String, MonitoredDevice>>>Connected hardware devices
metrics_collector: Arc<Mutex<MetricsCollector>>Real-time metrics collector
adaptive_compiler: Arc<Mutex<AdaptiveCompiler>>Adaptive compiler
alert_system: Arc<Mutex<AlertSystem>>Alert system
failure_detector: Arc<Mutex<PredictiveFailureDetector>>Predictive failure detector
performance_optimizer: Arc<Mutex<RealTimePerformanceOptimizer>>Performance optimizer
monitoring_active: Arc<AtomicBool>Monitoring thread control
Implementations§
Source§impl RealTimeHardwareMonitor
impl RealTimeHardwareMonitor
Sourcepub fn new(config: MonitoringConfig) -> Self
pub fn new(config: MonitoringConfig) -> Self
Create new real-time hardware monitor
Sourcepub fn start_monitoring(&self) -> ApplicationResult<()>
pub fn start_monitoring(&self) -> ApplicationResult<()>
Start real-time monitoring
Sourcepub fn stop_monitoring(&self) -> ApplicationResult<()>
pub fn stop_monitoring(&self) -> ApplicationResult<()>
Stop real-time monitoring
Sourcepub fn register_device(&self, device: MonitoredDevice) -> ApplicationResult<()>
pub fn register_device(&self, device: MonitoredDevice) -> ApplicationResult<()>
Register device for monitoring
Sourcepub fn get_device_status(
&self,
device_id: &str,
) -> ApplicationResult<DeviceStatus>
pub fn get_device_status( &self, device_id: &str, ) -> ApplicationResult<DeviceStatus>
Get current device status
Sourcepub fn get_performance_metrics(
&self,
device_id: &str,
) -> ApplicationResult<DevicePerformanceMetrics>
pub fn get_performance_metrics( &self, device_id: &str, ) -> ApplicationResult<DevicePerformanceMetrics>
Get real-time performance metrics
Sourcepub fn trigger_adaptive_compilation(
&self,
device_id: &str,
problem: &IsingModel,
) -> ApplicationResult<CompilationParameters>
pub fn trigger_adaptive_compilation( &self, device_id: &str, problem: &IsingModel, ) -> ApplicationResult<CompilationParameters>
Trigger adaptive compilation
Sourcepub fn get_active_alerts(&self) -> ApplicationResult<Vec<Alert>>
pub fn get_active_alerts(&self) -> ApplicationResult<Vec<Alert>>
Get active alerts
Sourcepub fn get_failure_predictions(
&self,
) -> ApplicationResult<Vec<FailurePrediction>>
pub fn get_failure_predictions( &self, ) -> ApplicationResult<Vec<FailurePrediction>>
Get failure predictions
Auto Trait Implementations§
impl Freeze for RealTimeHardwareMonitor
impl RefUnwindSafe for RealTimeHardwareMonitor
impl Send for RealTimeHardwareMonitor
impl Sync for RealTimeHardwareMonitor
impl Unpin for RealTimeHardwareMonitor
impl UnsafeUnpin for RealTimeHardwareMonitor
impl UnwindSafe for RealTimeHardwareMonitor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.