theia-trace-extension
theia-trace-extension copied to clipboard
Update view range during trace indexing
While the trace context component updateTrace() loop is iterating, update the unit controller's view range if the current view range is the full range and the full range has changed.
If the user zooms the view range, it will stop updating to prevent snapping out of the user's view range. If the users zooms back out to the full range it will restart updating again.
After updateTrace() is complete, update the view range only if the current view range is the full range.
In TimegraphOutputComponent, use the analysis-running-overflow overlay while the analysis is running. Render the search bar only once the analysis is completed, to prevent unexplained stack overflow in the TextField's InputBase component.
Let the analysis-running-overflow pass through pointer events to the underlying layer.
I tried this PR with a large trace. When I opened the trace, then the overview view shows an overlay "Analysis Running". When opening a view I see the same message. I'm not able to change the time range while the analysis is running. So, I'm not sure how to test this change and verify the changed behaviour.
Could you please describe how to test? If you have a video that you can share would also help.
I'm testing your patch that allows for continuous update of views. When having a time graph view open and do some random zooming (with right mouse button and drag) and time selection (with left mouse button and drag) I get the following exception and the trace viewer panel looses all graphs. It doesn't happen in master because I can't zoom/select during analysis running:
I'm currently unable to explain this exception, but found that we can prevent it by waiting for analysis completion before rendering the search bar.
The solution has been changed to initialize the view range only once, to prevent slowdown due to constant refresh of the time charts.
This PR should be used with the following changes in timeline-chart: https://github.com/eclipse-cdt-cloud/timeline-chart/pull/293 https://github.com/eclipse-cdt-cloud/timeline-chart/pull/294 https://github.com/eclipse-cdt-cloud/timeline-chart/pull/295