Backend returns the first 5 frames that contain the specified code location, with
the callsite location.
(In the future we can extend the max number of candidates.)
User picks a frame
The identity of the picked frame is sent to backend
Backend sends back tracing results for the picked frame
Steps 2 ~ 5 won't happen if there's only one frame.
If there's no frame that matches the current location, nothing will happen.
Map tracing result to code
TBD. But for now, we should prevent frame selection process from happening (again) if
tracing is present and code location didn't go out of the frame's scope.
By default, we should show previous frame + current frame + 1-level frames derived
from the current frame. We will let users configure this on extension UI.
On the backend, frames are stored in a tree
UI interaction:
Picking frames
Steps 2 ~ 5 won't happen if there's only one frame.
If there's no frame that matches the current location, nothing will happen.
Map tracing result to code TBD. But for now, we should prevent frame selection process from happening (again) if tracing is present and code location didn't go out of the frame's scope.
By default, we should show previous frame + current frame + 1-level frames derived from the current frame. We will let users configure this on extension UI.