The new query framework should expose statistics around planning and cache utilization.
Question: expose globally or per collection?
- Number of times the cache is dropped (should we distinguish whether from write operations or index drop/raise?)
- Number of times a plan is evicted from the cache
- LRU evictions
- Feedback evictions
- Cumulative time spent planning
- Average number of plans considered per query shape
Currently we drop plan cache entries and all associated statistics before allowing a new plan into the cache for the query shape. One way to achieve better execution stats over time for the query engine would be to maintain historical data in the plan cache.