[SDK 45] Using sampling profiler with Hermes not possible
See original GitHub issueSummary
On SDK 45 there is seemingly no way to open the react-native developer menu so it is not possible to start the sampling profiler and use react-native profile-hermes
to download and analyze profiles from devices.
AFAIK the hermes sampling profiler is the only possible way to profile JS performance actually running on a device.
Managed or bare workflow? If you have made manual changes inside of the ios/
or android/
directories in your project, the answer is bare!
managed
What platform(s) does this occur on?
Android
Package versions
"expo": "next",
"expo-dev-client": "~0.9.3",
"react-native": "0.68.1",
Environment
expo-env-info 1.0.3 environment info:
System:
OS: macOS 12.3
Shell: 3.3.1 - /opt/homebrew/bin/fish
Binaries:
Node: 16.14.2 - /opt/homebrew/opt/node@16/bin/node
Yarn: 3.2.0 - /opt/homebrew/bin/yarn
npm: 7.18.1 - /opt/homebrew/bin/npm
Watchman: 2022.03.21.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.4, macOS 12.3, tvOS 15.4, watchOS 8.5
IDEs:
Android Studio: Bumblebee 2021.1.1 Patch 3 Bumblebee 2021.1.1 Patch 3
Xcode: 13.3.1/13E500a - /usr/bin/xcodebuild
npmGlobalPackages:
eas-cli: 0.52.0
expo-cli: 5.4.3
Expo Workflow: managed
Reproducible demo
N/A, observe that there is no way to access the react-native developer menu to start the sampling profiler
Stacktrace (if a crash is involved)
No response
Issue Analytics
- State:
- Created a year ago
- Comments:9 (4 by maintainers)
Top Results From Across the Web
Profiling with Hermes - React Native
Select Enable Sampling Profiler. Execute your JavaScript by in your app (press buttons, etc.) Open the Developer Menu by pressing d again.
Read more >TypeScript Tool for Converting Hermes Sampling Profiler to ...
Hermes Profile Transformer: TypeScript tool for converting Hermes Sampling Profiler output to Chrome Dev Tools format. This TypeScript package converts ...
Read more >Steal DNN Models with Lossless Inference Accuracy - USENIX
In this paper, we first identify a new attack surface – unencrypted PCIe traffic, to leak DNN models. Based on this new attack...
Read more >Using Hermes Engine - Expo Documentation
Using Hermes Engine. A guide on configuring Hermes for both Android and iOS in an Expo project. Hermes is a JavaScript engine optimized...
Read more >Fep - River Thames Conditions - Environment Agency - GOV.UK
Simana santa movie, Parsefloat not working in firefox, Blue flower action? ... Ct map mod download, Hotel room key cards, Lade booster 45a,...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@Kudo it would also be nice if hermes profile transformer could be integrated into the expo CLI. Right now in order to use
react-native profile-hermes
(which automatically downloads and converts the latest sampling profiler trace from a device) in a managed project it’s necessary to create a dummy react-native project with the same package id and run it there.@lukmccall just FYI that is not the same functionality – the debugger and the sampling profiler are different things. There is no way to profile performance with hermes other than the sampling profiler and the hermes profile transformer tool. It cannot be done with chrome devtools.