[SERVER-36533] Report execution stats for $exchange in sharded aggregation explains Created: 08/Aug/18  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: Aggregation Framework, Diagnostics
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Kyle Suarez Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-35905 Plug pieces together to perform a dis... Closed
Assigned Teams:
Query Execution
Participants:

 Description   

Currently, only the $cursor stage reports any interesting execution statistics when explaning an aggregation at verbosity level "executionStats". Because of the complexity of $exchange, it would be interesting to expose more runtime stats.

Some ideas of what might be interesting off the top of my head:

  • number of total calls to DocumentSourceExchange::getNext()
  • number of total yields
  • number of times each consumer blocks on empty buffer
  • number of times each consumer thread fills the buffers
  • the number of times buffer N is filled to capacity

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