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(¤t)?;
if report.has_regression {
println!("⚠️ Regression detected!");
for issue in &report.issues {
println!(" - {}: {:.1}% change", issue.metric, issue.percent_change);
}
}Structs§
- Metric
Summary - Statistical summary for a metric
- Performance
Metrics - Performance metrics for a specific test run
- Regression
Config - Configuration for regression detection
- Regression
Detector - Performance regression detector
- Regression
Issue - Regression issue detected
- Regression
Report - Regression detection report