-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
QO 2023-08-21
-
5
To compute the query stats key hash, we build an intermediate BSON object and hash that. This is showing up in our flame graphs, and we can probably avoid some of the intermediate state and associated overhead and memory allocations by just directly supporting a custom hash operator of some of the same things.
To limit the complexity of the patch, this ticket will track the work for all the components of the commands (think readConcern, comment, etc) but not the MatchExpression tree and associated ASTs.
- depends on
-
SERVER-80151 Make a sub-directory for query stats files
- Closed
-
SERVER-80201 Move QueryStatsEntry to its own file
- Closed
- is depended on by
-
SERVER-76330 Use representative query shape in query stats store (aggregate command)
- Closed
-
SERVER-85055 Tracking: M1 Performance improvement ideas
- Closed
- is related to
-
SERVER-79018 Implement MatchExpression hasher
- Closed
-
SERVER-80164 Improve speed of computing shape hash for MatchExpression
- Open
- related to
-
SERVER-81144 Compute QueryShapeHash from QueryShape without full serialization
- Closed
-
SERVER-84298 Fix up memory accounting in query stats store
- Closed
-
SERVER-84299 Move absl::HashOf() off the hot path where it is only used for error messages
- Closed
-
SERVER-84300 Avoid reading the clock to compute $$NOW
- Closed