Expand description
Real-Time Performance Monitoring and Adaptation for Advanced Processors
This module provides comprehensive real-time monitoring and adaptive optimization for all Advanced mode processors, including quantum-inspired, neural-adaptive, and hybrid processors.
§Architecture
The real-time performance monitoring system consists of several interconnected components:
- Configuration: Flexible configuration system for different monitoring scenarios
- Metrics Collection: Comprehensive performance metrics from various processor types
- History Management: Efficient storage and analysis of performance history data
- Alert System: Rule-based alerting with multiple notification channels
- Real-Time Monitoring: Continuous monitoring with adaptive sampling rates
- Processor Registry: Registration and management of different processor types
§Usage
ⓘ
use scirs2_sparse::realtime_performance_monitor::{
RealTimePerformanceMonitor, PerformanceMonitorConfig
};
// Create configuration
let config = PerformanceMonitorConfig::default()
.with_monitoring_interval_ms(100)
.with_adaptive_tuning(true)
.with_alerts(true);
// Create monitor
let monitor = RealTimePerformanceMonitor::new(config);
// Start monitoring
monitor.start_monitoring()?;
// Register processors for monitoring
// monitor.register_quantum_processor(my_quantum_processor)?;
// monitor.register_neural_processor(my_neural_processor)?;
// Get monitoring data
let summary = monitor.get_monitoring_summary();
let alerts = monitor.get_active_alerts();
let recent_samples = monitor.get_recent_samples(100);
§Performance Optimization
The system automatically adapts monitoring frequency based on system load and provides detailed performance analytics:
ⓘ
// Get processor performance summary
let processor_summary = monitor.get_processor_summary();
for summary in processor_summary {
println!("Processor {}: {:.2} ops/sec, {:.1}% efficiency",
summary.processor_id,
summary.avg_throughput,
summary.efficiency_score * 100.0
);
}
// Get system health metrics
if let Some(system_metrics) = monitor.get_system_metrics() {
println!("System health score: {:.1}%", system_metrics.health_score() * 100.0);
}
Re-exports§
pub use alerts::Alert;
pub use alerts::AlertCondition;
pub use alerts::AlertManager;
pub use alerts::AlertRule;
pub use alerts::AlertSeverity;
pub use alerts::AlertStats;
pub use alerts::NotificationChannel;
pub use config::PerformanceMonitorConfig;
pub use config::UseCase;
pub use history::PerformanceHistory;
pub use history::PerformanceTrend;
pub use history::ProcessorSummary;
pub use metrics::AggregatedMetrics;
pub use metrics::ExecutionTimer;
pub use metrics::PerformanceSample;
pub use metrics::ProcessorType;
pub use metrics::SystemMetrics;
pub use monitor::HybridProcessorMonitor;
pub use monitor::MemoryCompressorMonitor;
pub use monitor::MonitoringSummary;
pub use monitor::NeuralProcessorMonitor;
pub use monitor::QuantumProcessorMonitor;
pub use monitor::RealTimePerformanceMonitor;