[SERVER-29292] Track history of query plan changes in mongod Created: 19/May/17 Updated: 06/Jan/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Diagnostics, Querying |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Mark Brinsmead | Assignee: | Backlog - Query Execution |
| Resolution: | Unresolved | Votes: | 3 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Query Execution
|
||||
| Participants: | |||||
| Case: | (copied to CRM) | ||||
| Description |
|
We would like to have a data source for historical query plans and plan changes. Recording the time a new query shape appeared, or the time an existing shape acquired a new plan, would be very helpful in diagnosing sudden shifts in database behaviour (e.g., the ability to state unequivocally that a new query shape first appeared just before a performance disruption). recording new plans in the mongod log may be adequate. Maintaining an in-memory collection summarizing these and including other useful statistics like execution counts, average latency, average time waiting on locks, etc., would be even more useful. |
| Comments |
| Comment by Asya Kamsky [ 18/Aug/17 ] |
|
A request came up recently to add a timestamp into a plan that's cached (i.e. when it was cached) so it can be easier to confirm that the cache was cleared when it was supposed to be. It seems like a small part of this ticket so I'm adding a note here - I can file a new ticket if that's more appropriate. |