use super::config::MAX_ACCUMULATED_CHANGES;
use crate::core::temporal::Timestamp;
use std::time::Duration;
#[derive(Debug, Clone)]
pub struct SnapshotInfo {
pub snapshot_id: usize,
pub timestamp: Timestamp,
pub vector_count: usize,
pub size_bytes: usize,
pub age: Duration,
}
#[derive(Debug, Clone)]
pub struct MemoryStats {
pub changes_accumulated_size: usize,
pub vectors_changed_since_snapshot: usize,
pub snapshots_since_full: usize,
pub total_snapshots: usize,
pub current_vectors: usize,
}
impl MemoryStats {
pub fn is_high_memory_usage(&self) -> bool {
self.changes_accumulated_size > MAX_ACCUMULATED_CHANGES
}
pub fn estimated_accumulated_bytes(&self) -> usize {
self.changes_accumulated_size * 8 }
}