-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
Fully Compatible
-
QE 2025-01-20, QE 2025-02-03
For example, SortStats don't track spilled records and bytes (uncompressed):
And some stats structures can have the same metric with different names:
GroupStats::numBytesSpilledEstimate and SpoolStats::spilledUncompressedDataSize are the same metric.
After this change, each stage that spills to disk will have 4 metrics with the same type, name and meaning:
https://github.com/mongodb/mongo/blob/master/src/mongo/db/pipeline/spilling/spilling_stats.h#L36
// The number of times the tracked entity spilled. uint64_t spills = 0; // The size, in bytes, of the memory released with spilling. uint64_t spilledBytes = 0; // The size, in bytes, of disk space used for spilling. uint64_t spilledDataStorageSize = 0; // The number of records, written to record store. uint64_t spilledRecords = 0;
- is related to
-
SERVER-99642 Unify spilling statistics in explain output
- Needs Scheduling