use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MLMonitoringConfig {
pub enable_real_time_monitoring: bool,
pub performance_tracking: bool,
pub drift_detection: DriftDetectionConfig,
pub anomaly_detection: bool,
pub alert_thresholds: HashMap<String, f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DriftDetectionConfig {
pub enable_detection: bool,
pub detection_methods: Vec<DriftDetectionMethod>,
pub window_size: usize,
pub significance_threshold: f64,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub enum DriftDetectionMethod {
ADWIN,
DDM,
EDDM,
PageHinkley,
KolmogorovSmirnov,
PopulationStabilityIndex,
}