magi-code 0.102.0

Repository-aware CLI coding agent for terminal work
Documentation
use super::*;
use tempfile::TempDir;

#[test]
#[ignore = "release-mode session snapshot measurement; run with --release --ignored --nocapture"]
fn session_snapshot_size_measurement() {
    let temp = TempDir::new().unwrap();
    for size in [64 * 1024usize, 32 * 1024 * 1024, 128 * 1024 * 1024] {
        let path = temp.path().join(format!("snapshot-{size}.jsonl"));
        fs::write(&path, vec![b'x'; size]).unwrap();
        crate::sessions::store::profiling_support::secure_profiling_session_root(temp.path());
        let started = std::time::Instant::now();
        let snapshot = capture_session_snapshot(&path).unwrap().unwrap();
        eprintln!(
            "session_snapshot file_bytes={} bytes_read={} elapsed_us={}",
            size,
            snapshot.prefix.len() as u64
                + if snapshot.identity.is_none() {
                    snapshot.len
                } else {
                    0
                },
            started.elapsed().as_micros()
        );
    }
}

#[test]
#[ignore = "release-mode durable append measurement; run with --release --ignored --nocapture"]
fn session_event_append_measurement() {
    let temp = TempDir::new().unwrap();
    let root = temp.path().join("sessions");
    let session = crate::sessions::SessionManager::new(root.clone())
        .create()
        .unwrap();
    let event = SessionEvent::new(
        "assistant_chunk",
        session.id().to_string(),
        temp.path().to_path_buf(),
        serde_json::json!({"text": "Representative streamed assistant output."}),
    );
    let count = 500;
    let mut elapsed = std::time::Duration::ZERO;
    let mut previous = String::new();
    let mut counter_writes = 0;
    for _ in 0..count {
        let started = std::time::Instant::now();
        session.append(&event).unwrap();
        elapsed += started.elapsed();
        // Observe actual counter changes outside the timed append, without production hooks.
        let current =
            fs::read_to_string(root.join(super::super::store::EVENT_ID_SEQUENCE_FILE)).unwrap();
        counter_writes += usize::from(current != previous);
        previous = current;
    }
    eprintln!(
        "session_event_append os={} appends={count} append_total_ms={:.3} per_append_us={:.3} counter_writes={counter_writes}",
        std::env::consts::OS,
        elapsed.as_secs_f64() * 1000.0,
        elapsed.as_secs_f64() * 1_000_000.0 / f64::from(count),
    );
}