question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[SDK 45] Using sampling profiler with Hermes not possible

See original GitHub issue

Summary

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:closed
  • Created a year ago
  • Comments:9 (4 by maintainers)

github_iconTop GitHub Comments

3reactions
evelantcommented, May 2, 2022

@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.

1reaction
evelantcommented, Jun 7, 2022

@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.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found