Module profiling

Module profiling 

Source
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§

IndexHealthChecker
Index health checker
ProfilingConfig
Profiling configuration
QueryProfile
Query profile result
QueryProfiler
Query profiler
Recommendation
Optimization recommendation

Enums§

Bottleneck
Performance bottleneck type
ImpactLevel
Impact level of a recommendation