Integrating a Real User Monitoring (RUM) SDK adds performance overhead to your application. The Application Real-Time Monitoring Service (ARMS) team has optimized the RUM SDKs to minimize this overhead while maintaining application stability. Review this report to evaluate the performance impact before you add a RUM SDK to your application.
Test environment
All benchmarks in this report were measured on the following devices.
| Operating system | Device | System version | CPU | Memory | Release year |
|---|---|---|---|---|---|
| Android | Google Pixel 3 XL | Android 12.0 | Snapdragon 845 | 4 GB | 2018 |
| iOS | iPhone X | iOS 13.6 | A11 | 3 GB | 2017 |
SDK initialization time
The RUM SDK initializes during the application cold start. The following table shows the time this adds.
| Operating system | Initialization time |
|---|---|
| Android | 33 - 119 ms |
| iOS | 48 - 53 ms |
CPU and memory overhead by feature
Each monitoring feature consumes CPU and memory independently. Use the per-feature breakdown below to estimate the overhead for your specific configuration.
Android
| Monitoring feature | CPU utilization | Memory usage |
|---|---|---|
| Startup performance | 0.65% | 5.07 MB |
| Network | 0.26% | 19.34 MB |
| Interaction | 0.55% | 14.45 MB |
| WebView | 0.12% | 5.17 MB |
| Stuttering | 0.23% | 14.67 MB |
| Crash | 1.28% | 10.69 MB |
iOS
| Monitoring feature | CPU utilization | Memory usage |
|---|---|---|
| Startup performance | 0.43% | 6.06 MB |
| Network | 0.62% | 7.1 MB |
| Interaction | 1.03% | 7.58 MB |
| WebView | 1.91% | 11.18 MB |
| Stuttering | 0.76% | 6.99 MB |
| Crash | 1.18% | 6.69 MB |
SDK size
The SDK size equals the installation package size.
| Operating system | Size (RUM SDK v0.2.0) |
|---|---|
| Android | 1.7 MB |
| iOS | 2.3 MB |
Network traffic by feature
ARMS RUM SDKs consume less traffic than the SDKs of a third-party RUM service in the same scenario. The following table shows how much network traffic each monitoring feature generates.
Except for startup, traffic varies with operation frequency over time. These values are from a single test cycle and are for reference only.
| Monitoring feature | Android | iOS |
|---|---|---|
| Startup | 1.1 KB | 1.6 KB |
| Network | 1.3 KB | 1.5 KB |
| Interaction | 1.2 KB | 1.6 KB |
| WebView | 1.3 KB | 1.9 KB |
| Stuttering | 16.8 KB | 1.8 KB |
| Crash | 11.2 KB | 2.7 KB |
SDK stability
The RUM SDK crash rate is 3 per ten thousand (3/10,000).