- Improve existing diagnostics by ensuring that the same information is available across operations (e.g. we don't report planSummary for all operations).
- In other words, expose existing debug information more consistently.
- Collect additional debug information which we don't already collect.
- Major infrastructural changes to CurOp, the profiler, or the slow query log.
Part of the work for
SERVER-10448 (a.k.a. "new explain"), completed for version 3.0, was to add a suite of functions capable of pulling summary statistics and debug information out of PlanExecutor (see explain.h). However, we use these functions in only a few places instead of uniformly populating CurOp with the available debug information. Using explain functionality to add the same stats to CurOp everywhere should be an easy win for diagnosability.
This includes work for the following operations:
- find (OP_QUERY and command)
- getMore (OP_GET_MORE and command)
The following fields will be added to CurOp for every operation once the operation completes: