Skip to content

refactor: hide console and memory panels / views for profiling builds #163

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

Merged

Conversation

hoxyq
Copy link

@hoxyq hoxyq commented May 21, 2025

Summary

For profiling builds, we should be showing only what we explicitly support at the moment: Welcome panel (basically, no-op) and Performance panel.

We should not be showing Memory panel, because it requires debugger support enabled in Hermes and Console, because we currently print a warning message that JavaScript engine was compiled with no debugger support.

I believe we should roll out features (panels) for profiling builds gradually and only once they are properly tested and their support is explicitly stated.

We will also open the drawer view from Welcome panel only for development builds, because it has a Console view. If we just remove the Console view from it, then it will be just an empty drawer opened every time user navigates to Welcome panel.

Test plan

  1. Observed no difference for dev builds.
  2. For profiling builds: only 2 panel are enabled: Welcome and Performance, drawer is not opened when navigating to Welcome panel.
  • This change maintains backwards compatibility with previous Local Storage data (if modifying settings, experiments, or other persisted client state).

Upstreaming plan

  • This commit should be sent as a patch to the upstream devtools-frontend repo. I've reviewed the contribution guide.
  • This commit is React Native-specific and cannot be upstreamed.

@motiz88
Copy link

motiz88 commented May 21, 2025

Not opposed to hiding stuff that doesn't work yet, but let's talk about the plan to get more of these features working, as I think it's pretty surprising if something as basic as console doesn't work at all.

@hoxyq
Copy link
Author

hoxyq commented May 21, 2025

Not opposed to hiding stuff that doesn't work yet, but let's talk about the plan to get more of these features working, as I think it's pretty surprising if something as basic as console doesn't work at all.

It does work. The main reason for hiding Console is to avoid printing this message in a console for profiling builds, because I am about to remove debugger support requirement for Hermes in profiling builds, this should make Hermes even faster and be as close as possible to production in terms of performance. You don't need debugger enabled to get sampling profiler working.

Happy to define what's missing for other platforms, will share this internally.

@hoxyq hoxyq merged commit 7e19a54 into main May 21, 2025
2 of 3 checks passed
@hoxyq hoxyq deleted the performance/keep-only-welcome-and-perf-panels-for-profiling branch May 21, 2025 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants