[SERVER-56191] Integrate SBE Debugger into the codebase Created: 20/Apr/21  Updated: 06/Dec/22  Resolved: 25/Nov/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major - P3
Reporter: Nikita Lapkov (Inactive) Assignee: Backlog - Query Execution
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Assigned Teams:
Query Execution
Participants:

 Description   

Currently, it is quite tricky for the developer to debug SBE plans. While we have some existing solutions like SBE plan debug print and execution stats, it is not possible to accurately reconstruct history of plan execution from them.

As a Skunkworks project, nikita.lapkov developed a tool to solve this problem, SBE Flight Recorder. This tool allows the developer to view history of SBE plan execution and inspect:

  1. returned PlanState s from PlanStages
  2. values of slots and expressions
  3. state of SBE VM stack during instruction execution

After the presentation of the solution, SBE team agreed that this tool would be useful for the debugging of SBE plans in the future. We should integrate SBE Flight Recorder into our codebase. Currently, the code for it is stored in a separate branch: https://github.com/laplab/mongo/tree/flight-recorder


Generated at Thu Feb 08 05:38:36 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.