Expand description
Query Profiling and Analysis
Tools for analyzing and profiling vector search queries to help optimize performance.
§Features
- Query Profiling: Detailed performance analysis of search operations
- Bottleneck Detection: Identify performance bottlenecks
- Recommendations: Get optimization suggestions based on query patterns
- Index Health: Check index health and identify issues
§Example
use oxify_vector::profiling::{QueryProfiler, ProfilingConfig};
use oxify_vector::{VectorSearchIndex, SearchConfig};
use std::collections::HashMap;
// Create index
let mut embeddings = HashMap::new();
embeddings.insert("doc1".to_string(), vec![0.1, 0.2, 0.3]);
let mut index = VectorSearchIndex::new(SearchConfig::default());
index.build(&embeddings)?;
// Profile a query
let config = ProfilingConfig::default();
let mut profiler = QueryProfiler::new(config);
let query = vec![0.2, 0.3, 0.4];
let profile = profiler.profile_search(|| {
index.search(&query, 10)
})?;
println!("Query took: {:?}", profile.total_duration);
println!("Recommendations: {:?}", profile.recommendations);Structs§
- Index
Health Checker - Index health checker
- Profiling
Config - Profiling configuration
- Query
Profile - Query profile result
- Query
Profiler - Query profiler
- Recommendation
- Optimization recommendation
Enums§
- Bottleneck
- Performance bottleneck type
- Impact
Level - Impact level of a recommendation