Closed evelant closed 1 year ago
It looks like you are using an older version of React Native. Please update to the latest release, v0.60 and verify if the issue still exists.
I updated to latest react native. Problem still persists, there is no useful information about the js or native modules threads like is shown in the documentation. A trace file can be found here: https://www.dropbox.com/s/n0ig26bctwq359k/trace.html?dl=0
Thanks for submitting your issue. Can you take another look at your description and make sure the issue template has been filled in its entirety?
👉 Click here if you want to take another look at the Bug Report issue template.
The issue does conform to the template...?
Anything I can do here? The bot seems to have erroneously confined my issue to the dustbin.
Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as a "Discussion" or add it to the "Backlog" and I will leave it open. Thank you for your contributions.
This issue never got examined. I think it got ignored because the bot flagged it as needs more information even though I provided the info. Needs discussion.
I'm experiencing the same problem. I think this is related to the fact that FB has its own closed-source implementation of systrace that doesn't have these issues so it's not a priority (see https://github.com/react-native-community/discussions-and-proposals/issues/69#issuecomment-446115060).
Any updates here? This is a big issue on our end.
This is still an issue on latest RN 0.61.5. Symptoms are exactly the same.
System:
OS: macOS 10.15.3
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 133.43 MB / 16.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.10.0 - ~/.nvm/versions/node/v12.10.0/bin/node
Yarn: 1.19.2 - ~/.yarn/bin/yarn
npm: 6.13.7 - ~/dev/TaskHero/node_modules/.bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
Android SDK:
Android NDK: 21.0.6113669
IDEs:
Android Studio: 3.5 AI-191.8026.42.35.6010548
Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild
npmPackages:
@react-native-community/cli: ^4.1.0 => 4.1.0
react: 16.9.0 => 16.9.0
react-native: github:AndrewMorsillo/react-native#0.61-stable-th-custom => 0.61.5
For the JS information, are you using JSC or Hermes ? JSC profiling had broken a while ago, and now that we are supporting Hermes, we have that information in the Hermes sampling profiler, which is not yet integrated into Systrace. The native modules have as much information as you have added trace markers in your code.
To solve this issue, i would recommend adding trace markers to JS and native modules to see how long the communication takes.
I am using JSC. Hermes is unfortunately not an option (at least for now) due to lack of Proxy support. My app relies heavily on mobx-state-tree which requires Proxy.
I don't quite understand what you mean by the native modules having as much information as I have added trace markers. None of the native code in my app was written by me, it's all react-native internal or npm modules. If you compare the screenshot in the issue above to the screenshot of the expected output from the docs you can see that the expected tracing information is missing from mqt_native_modules.
Can you provide a bit more detail about how I would go about adding the trace markers you're referring to? I apologize if that may seem like an obvious thing but I have little to no experience with native android code. My app has no custom native code, all native code is internal to react-native or from npm modules.
Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as a "Discussion" or add it to the "Backlog" and I will leave it open. Thank you for your contributions.
can confirm this still happens with Hermes on react 0.62
This is still an issue 1 year later. As far as I can see there are no working profiling tools for react-native Android at the moment and haven't been for a couple years. This is really painful for my team, we have customers reporting performance issues on Android but have no way to diagnose and solve them other than trial and error. Only chrome profiler appears to work but as we all know that doesn't offer a picture of what's really happening, only a somewhat relative measurement of perf against itself using v8 with debug mode caveats. @axe-fb can you offer any guidance about the state of performance profiling for RN Android?
can confirm this still happens on 0.63.3 – with or without Hermes.
Issue also happens on V8.
JS thread still not recorded:
Would it be possible to realase the facebook's internal systrace tool, which is capable of showing the data?
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 7 days.
unstale
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 7 days.
This issue was closed because it has been stalled for 7 days with no activity.
I'm using systrace via the process detailed in the documentation. In my trace results there is no useful JS thread or native modules thread info. This makes it more or less useless for profiling my app.
React native version:
Steps To Reproduce
Describe what you expected to happen: JS and native modules threads appear in the systrace as per the documentation. See the following screenshots of my trace -- the JS and native modules information is missing. There is mqt_js and mqt_native_mod in the trace but they don't contain any meaningful data like the documentation example. This trace definitely contains some heavy JS work but it appears like it isn't recorded.
Snack, code example, screenshot, or link to a repository: Example trace: https://www.dropbox.com/s/n0ig26bctwq359k/trace.html?dl=0