Performance n Profiling - leotm/react-native-template-new-architecture GitHub Wiki
Metrics
- release: adopt, health (crash-free sessions), handled/unhandled, issues (errors)
- kno: device/sourcemaps/breadcrumbs
- fps (js/native), ram (js/native/leaks), nested views (cached)
- network downtime/rtt e2e (be<->fe)
- ci/cd e2e screens/vids
- issues(regressions)/PRs/commits
- analytics...
- hill chart
Tools
App: __DEV__
off - Release perf optimisations on
- Debug menu > Perf Monitor
- Chrome profiler > React DevTools > Flame graph
- Hermes sampling profile
- Flipper
- iOS: Xcode > Instruments
- Android: systrace
- Threads: UI, JS, Native Modules, Render
Libs
- 18: https://rnfirebase.io/perf/usage
- Dec18: https://github.com/welldone-software/why-did-you-render
- Feb21: https://github.com/oblador/react-native-performance
- Mar21: https://github.com/getsentry/sentry-react-native
- Mar21: https://github.com/DataDog/dd-sdk-reactnative
- Jun22: https://github.com/Shopify/react-native-performance
- Jul22: https://github.com/callstack/reassure
- Sep22: https://github.com/bamlab/android-performance-profiler
Integrations (paid)
mobile.dev
Ultimate Guide to React Native Optimization