Get current cache status
()
| 15 | |
| 16 | /// Get current cache status |
| 17 | pub fn get_cache_status() -> CacheStatus { |
| 18 | let metrics = GLOBAL_QUERY_CACHE.get_metrics(); |
| 19 | let (cache_size, _) = GLOBAL_QUERY_CACHE.stats(); |
| 20 | |
| 21 | let hit_rate = if metrics.total_queries > 0 { |
| 22 | (metrics.cache_hits as f64 / metrics.total_queries as f64) * 100.0 |
| 23 | } else { |
| 24 | 0.0 |
| 25 | }; |
| 26 | |
| 27 | CacheStatus { |
| 28 | total_queries: metrics.total_queries, |
| 29 | cache_hits: metrics.cache_hits, |
| 30 | cache_misses: metrics.cache_misses, |
| 31 | hit_rate, |
| 32 | evictions: metrics.evictions, |
| 33 | cache_size, |
| 34 | cache_capacity: 1000, // From GLOBAL_QUERY_CACHE initialization |
| 35 | } |
| 36 | } |
| 37 | |
| 38 | /// Format cache status as a PostgreSQL result set |
| 39 | pub fn format_cache_status_as_table() -> (Vec<String>, DbRows) { |
no test coverage detected