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.

systrace doesn't include JS or native modules thread info

See original GitHub issue

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:

System:
    OS: macOS 10.14.6
    CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
    Memory: 791.28 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 8.11.3 - ~/.nvm/versions/node/v8.11.3/bin/node
    Yarn: 1.17.3 - ~/.yarn/bin/yarn
    npm: 6.10.1 - ~/.nvm/versions/node/v8.11.3/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
  IDEs:
    Android Studio: 3.4 AI-183.5429.30.34.5452501
    Xcode: 10.3/10G8 - /usr/bin/xcodebuild
  npmPackages:
    @react-native-community/cli: ^2.9.0 => 2.9.0 
    react: 16.9.0 => 16.9.0 
    react-native: ^0.60.5 => 0.60.5 
  npmGlobalPackages:
    create-react-native-app: 2.0.2
    react-native-macos-cli: 2.0.1

Steps To Reproduce

  1. Take a systrace profile per the documentation
  2. Open profile and note that the JS and native modules threads don’t contain useful information like they do in the documentation example

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.

image

image

image

Snack, code example, screenshot, or link to a repository: Example trace: https://www.dropbox.com/s/n0ig26bctwq359k/trace.html?dl=0

Issue Analytics

  • State:open
  • Created 4 years ago
  • Reactions:12
  • Comments:18 (1 by maintainers)

github_iconTop GitHub Comments

16reactions
evelantcommented, Aug 29, 2020

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?

5reactions
stale[bot]commented, Jun 20, 2020

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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

android - React Native profiling. Systrace not showing JS and ...
navigation. I am able to get a trace output. But the Js and Native Modules Threads are not available like described in the...
Read more >
Profiling Android UI Performance – React Native - Deco IDE
Notice that first the JS thread thinks for a bit, then you see some work done on the native modules thread, followed by...
Read more >
Performance · React Native
Notice that first the JS thread thinks for a bit, then you see some work done on the native modules thread, followed by...
Read more >
Native Modules · React Native
Sometimes an app needs access to a platform API that React Native doesn't have a ... it in JavaScript, or write some high...
Read more >
Slow rendering - Android Developers
But if you need more information, you can use Systrace to drill down ... If systrace doesn't show you details about why UI...
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