MCPcopy Create free account
hub / github.com/erans/pgsqlite / get_effectiveness_metrics

Method get_effectiveness_metrics

src/optimization/mod.rs:207–231  ·  view source on GitHub ↗

Get overall optimization effectiveness

(&self)

Source from the content-addressed store, hash-verified

205
206 /// Get overall optimization effectiveness
207 pub fn get_effectiveness_metrics(&self) -> OptimizationEffectiveness {
208 let stats = self.get_stats();
209 let total_queries = stats.total_queries;
210
211 if total_queries == 0 {
212 return OptimizationEffectiveness::default();
213 }
214
215 let fast_path_rate = stats.fast_path_hits as f64 / total_queries as f64;
216 let cache_hit_rate = (stats.context_cache_hits + stats.schema_cache_hits) as f64 / (total_queries * 2) as f64;
217 let avg_optimization_time = stats.total_optimization_time_ms as f64 / total_queries as f64;
218
219 let pattern_stats = self.pattern_optimizer.read().unwrap().get_pattern_stats();
220 let schema_hit_rate = self.lazy_schema_loader.get_cache_hit_rate();
221 let avg_schema_load_time = self.lazy_schema_loader.get_average_load_time_ms();
222
223 OptimizationEffectiveness {
224 fast_path_rate,
225 cache_hit_rate,
226 avg_optimization_time_ms: avg_optimization_time,
227 schema_cache_hit_rate: schema_hit_rate,
228 avg_schema_load_time_ms: avg_schema_load_time,
229 pattern_distribution: pattern_stats,
230 }
231 }
232
233 fn recommend_execution_strategy(&self, hints: &OptimizationHints) -> ExecutionStrategy {
234 match hints.complexity {

Callers 1

Calls 5

get_pattern_statsMethod · 0.80
readMethod · 0.80
get_statsMethod · 0.45
get_cache_hit_rateMethod · 0.45

Tested by 1