[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:
Related
Assigned Teams:
Query Execution
Participants:
Case:

 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.

Generated at Thu Feb 08 04:20:25 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.