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

UI performance audit and fixes #191

Open
kgpax opened this issue Nov 19, 2023 · 0 comments
Open

UI performance audit and fixes #191

kgpax opened this issue Nov 19, 2023 · 0 comments
Labels
@envyjs/webui Browser package

Comments

@kgpax
Copy link
Member

kgpax commented Nov 19, 2023

So far, Envy has likely only be used is short bursts where the number of traces present in the list are small in number; rarely more than one or two hundred, for example.

As such the web viewer UI (and the skunkworks network viewer which preceeds it) has not be optimised for large quantities or traces, and would in all likelihood collapse under the weight of 5,000+ traces.

I raised an unrelated PR #190 which includes some tweaks to allow us to inject 1,300 traces. I had tried this with 13,000 traces and found the UI to be very unresponsive.

Therefore, we should:

  • Provide a way to inject large numbers (10,000+) mock traces. See this change for reference.
  • Audit the UI performance and identify areas to improve.

One definite improvement would be to virtualise the trace list (so that only in-view traces are rendered in the DOM). Beyond that, we need to ensure that Envy can scale to this number of traces, even if just for the barmy cases where somebody in userland has it always running in the background whilst they work (or use) an application sending traces to it.

Another option to consider is that we cap the number of traces we list to a reasonable number.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@envyjs/webui Browser package
Projects
None yet
Development

No branches or pull requests

1 participant