quantrs2_device/performance_dashboard/
mod.rs

1//! Comprehensive Device Performance Analytics Dashboard
2//!
3//! This module provides a comprehensive real-time performance analytics dashboard
4//! that unifies monitoring, visualization, and intelligent insights across all quantum
5//! device components using SciRS2's advanced analytics and machine learning capabilities.
6
7use std::collections::{BTreeMap, HashMap, VecDeque};
8use std::sync::{Arc, Mutex, RwLock};
9use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
10
11use quantrs2_circuit::prelude::*;
12use quantrs2_core::{
13    error::{QuantRS2Error, QuantRS2Result},
14    gate::GateOp,
15    qubit::QubitId,
16};
17
18use serde::{Deserialize, Serialize};
19
20// SciRS2 dependencies for advanced analytics
21#[cfg(feature = "scirs2")]
22use scirs2_graph::{
23    betweenness_centrality, closeness_centrality, dijkstra_path, minimum_spanning_tree,
24    strongly_connected_components, Graph,
25};
26#[cfg(feature = "scirs2")]
27use scirs2_linalg::{det, eig, inv, matrix_norm, prelude::*, svd, LinalgError, LinalgResult};
28#[cfg(feature = "scirs2")]
29use scirs2_optimize::{minimize, OptimizeResult};
30use scirs2_stats::ttest::Alternative;
31#[cfg(feature = "scirs2")]
32use scirs2_stats::{corrcoef, distributions, mean, pearsonr, spearmanr, std, var};
33
34// Fallback implementations when SciRS2 is not available
35#[cfg(not(feature = "scirs2"))]
36mod fallback_scirs2;
37#[cfg(not(feature = "scirs2"))]
38use fallback_scirs2::*;
39
40use scirs2_core::ndarray::{Array1, Array2, ArrayView1, ArrayView2};
41use scirs2_core::random::prelude::*;
42
43use crate::{
44    adaptive_compilation::AdaptiveCompilationConfig,
45    backend_traits::{query_backend_capabilities, BackendCapabilities},
46    calibration::{CalibrationManager, DeviceCalibration},
47    integrated_device_manager::IntegratedQuantumDeviceManager,
48    noise_model::CalibrationNoiseModel,
49    topology::HardwareTopology,
50    CircuitResult, DeviceError, DeviceResult,
51};
52
53// Module declarations
54pub mod alerting;
55pub mod config;
56pub mod data_collection;
57pub mod ml_analytics;
58pub mod optimization;
59pub mod reporting;
60pub mod visualization;
61
62// Re-exports for public API
63pub use alerting::*;
64pub use config::*;
65pub use data_collection::*;
66pub use ml_analytics::*;
67pub use optimization::*;
68pub use reporting::*;
69pub use visualization::*;
70
71#[cfg(not(feature = "scirs2"))]
72pub use fallback_scirs2::*;
73
74// TODO: Add implementation structs and functions that were in the original file
75// This would include the PerformanceDashboard struct and its implementation
76// For now, this refactoring focuses on organizing the configuration types