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 profiler extension #122

Closed
wants to merge 59 commits into from
Closed

Conversation

krassowski
Copy link
Member

@krassowski krassowski commented Oct 24, 2022

Draft of a profiler extension. Implements #119.

Milestones:

  • Client-side benchmarking scaffold
  • CSS rule/sheet benchmarking code
  • Find potentially unused styles
  • Scenarios:
    • main menu (open/switch),
    • tab switch,
    • completer,
    • focus switch
    • panel switch
    • scrolling
  • allow to run all scenarios at once
  • UI for triggering benchmarks:
    • expose selected options in UI when viewing past results
    • polish UI: the run panel did not get any options in the end, so it can be moved to bottom right.
    • enhancement: add number of elements matching each rule and performance gain/#elements ratio (not very useful)
  • integration with CI
  • PoC for self-profiling API

Follow up items (in future PRs):

  • extensibility, either:
    • rewrite in terms of user-provided scenarios via simple composition of commands, or
    • expose token to allow registering a custom IScenario in extensions.
  • add more scenarios: resizing panels, opening context menu
  • add workspace presets ("Workspace with all types of widgets open", "Workspace with long notebooks", "Workspace with many long files")

Screenshot from 2022-10-31 02-00-04

@welcome

This comment was marked as resolved.

@krassowski krassowski added the enhancement New feature or request label Oct 31, 2022
@krassowski krassowski marked this pull request as ready for review October 31, 2022 02:15
@krassowski
Copy link
Member Author

Taking it out of draft as all the major bits are in. I will still work on bits and pieces but I do not plan adding anything major in this PR.

@krassowski
Copy link
Member Author

Development will continue in https://github.com/jupyterlab/ui-profiler. I will open a new PR integrating jupyterlab-ui-profiler with benchmarks CI.

@krassowski krassowski closed this Dec 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant