Performance Overhead

Learn about how enabling Session Replay impacts the performance of your application.

If you're considering enabling Session Replay, it's important to first understand the potential performance impact to your app. While accurate metrics require realistic testing where you apply typical access patterns and correlate the results with your business metrics, to provide a baseline, we measured the overhead using the open-source Pocket Casts app.

You can learn more about the various optimizations implemented in the React Native Replay SDK in the Replay Performance Overhead docs.

The React Native Replay SDK is a lightweight wrapper for the native iOS and Android SDKs, so its overhead is minimal and doesn't require separate measurement. Below are the benchmark results for each platform.

We measured the overhead using the Pocket Casts iOS and Pocket Casts Android open-source apps. Each includes a diverse set of components such as ViewControllers and SwiftUI screens.

Here's how the benchmarks were conducted:

  • Configuration: Full masking was enabled, and optimized release builds were used.
  • User Flow: The same flow was executed 10 times to ensure consistency.
  • Real-World Representation: This approach closely mirrors performance in real-world scenarios.

The benchmarks were run on an iPhone 14 Pro and a Pixel 2XL.

MetricSentry SDK onlySentry + Replay SDK
FPS55 fps53 fps
Memory102 MB121 MB
CPU4%13%
App Startup Time (Cold)1264.80 ms1265 ms
Main Thread Timen/a43ms
Network Bandwidthn/a50 KB

MetricSentry SDK onlySentry + Replay SDK
FPS55 fps54 fps
Memory255 MB265 MB
CPU36%42%
App Startup Time (Cold)1533.35 ms1539.55 ms
Main Thread Timen/a20ms
Network Bandwidthn/a35 KB
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").