Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help users diagnose notebook rendering problems #154873

Closed
mjbvz opened this issue Jul 12, 2022 · 2 comments
Closed

Help users diagnose notebook rendering problems #154873

mjbvz opened this issue Jul 12, 2022 · 2 comments
Assignees
Labels
Milestone

Comments

@mjbvz
Copy link
Collaborator

mjbvz commented Jul 12, 2022

Problem

It is currently difficult for users to tell if notebook rendering issues are caused by VS Code or by an extension. The issue here may be incorrect rendering or it may be a performance issue related to rendering. If the issue is caused by an extension, we want this to be very clear to the user so that they report the issue in the proper place and can also work around it

A few examples of how rendering can cause issues for users:

  • The user has selected the incorrect renderer for a given cell/output

  • A contributed renderer has a rendering bug

    Note that one bad renderer may also break unrelated cells in the notebook. For example, a renderer that contributes global css may end up styling all cells in the notebook, not just the cells/outputs it renders

  • A contributed renderer is taking too long to load (would slow down initial rendering of the notebook)

  • A contributed renderer is taking too long to render (would cause performance issues every time a cell is rendered)

  • Any of the above three issues, except for a contributed render that extends one of our built-in renderers instead

  • A renderer does something lazily, triggering the notebook cell be resized and potentially shift around our notebook content.

At present, users don't have many tools to help track down any of these problems.

Other interesting related perceived performance issues:

  • The kernel is slow

  • Exchanging messages between various processes (kernel, extension host, renderer, webview) is slow

Goal

Provide users with the information and tools they need to investigate and resolve rendering issues. Using these tools, users would be able to track down a misbehaving extension and disable it to work around any issues.

Exactly what these tools will look like needs further discussion

@rebornix
Copy link
Member

@mjbvz thanks for putting this all together and the issue list @phgmacedo curated in #147253 (comment) aligns with the categories above ❤️

In addition to rendering issues affected by renderers, there are a few other things that go wrong and affect the perceived experience (slowness)

We currently only have a perf mark for file opening perf analysis, maybe we could extend it to a command which enables perf troubleshooting and print logs to a dedicated output channel (similar to Keybinding Troubleshoot).

@rebornix rebornix added this to the On Deck milestone Jul 13, 2022
@mjbvz mjbvz modified the milestones: On Deck, September 2022 Sep 12, 2022
@mjbvz mjbvz modified the milestones: September 2022, October 2022 Sep 27, 2022
@mjbvz mjbvz modified the milestones: October 2022, November 2022 Oct 20, 2022
mjbvz added a commit to mjbvz/vscode that referenced this issue Nov 17, 2022
For microsoft#154873

Adds a new log file for the webview of a notebook. This is currently used to log the load, activation, and render times of notebook renderers
mjbvz added a commit that referenced this issue Nov 17, 2022
For #154873

Adds a new log file for the webview of a notebook. This is currently used to log the load, activation, and render times of notebook renderers
@mjbvz
Copy link
Collaborator Author

mjbvz commented Nov 28, 2022

I've added a new log channel that prints debug info about the notebook webview. This includes timing of rendering and which extensions are loaded

This should provide enough information for advanced users (and us) to diagnose rendering issues. If we are seeing lots of users reporting rendering performance issues, we can look into surfacing this in the UI somewhere

@mjbvz mjbvz closed this as completed Nov 28, 2022
@github-actions github-actions bot locked and limited conversation to collaborators Jan 12, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants