Module regression

Module regression 

Source
Expand description

Performance regression detection and tracking

This module provides tools for detecting performance regressions in semantic search systems by comparing current performance against historical baselines.

§Features

  • Baseline Management: Track performance baselines over time
  • Regression Detection: Automatically detect performance degradation
  • Trend Analysis: Identify performance trends
  • Alerting: Flag significant regressions for investigation

§Example

use ipfrs_semantic::regression::{RegressionDetector, PerformanceMetrics};
use std::time::Duration;

let mut detector = RegressionDetector::new();

// Record baseline metrics
let baseline = PerformanceMetrics {
    avg_query_latency: Duration::from_micros(500),
    p99_latency: Duration::from_millis(2),
    throughput_qps: 5000.0,
    memory_mb: 512.0,
    index_size: 100000,
};
detector.set_baseline(baseline)?;

// Test current performance
let current = PerformanceMetrics {
    avg_query_latency: Duration::from_micros(750), // 50% slower!
    p99_latency: Duration::from_millis(3),
    throughput_qps: 4000.0,
    memory_mb: 520.0,
    index_size: 100000,
};

let report = detector.check_regression(&current)?;
if report.has_regression {
    println!("⚠️  Regression detected!");
    for issue in &report.issues {
        println!("  - {}: {:.1}% change", issue.metric, issue.percent_change);
    }
}

Structs§

MetricSummary
Statistical summary for a metric
PerformanceMetrics
Performance metrics for a specific test run
RegressionConfig
Configuration for regression detection
RegressionDetector
Performance regression detector
RegressionIssue
Regression issue detected
RegressionReport
Regression detection report