Performance Impact of the Mobile SDK

The LogRocket Mobile SDK is designed to avoid a negative performance impact to your app. We're committed to keeping it that way and to being transparent about what our SDK does on your app.

Main Thread Usage

Limiting potential user experience impact when using the LogRocket SDKs is a high priority for us at LogRocket. The system that captures the Application's current screen must run in the UI Thread and could potentially block the UI from updating. This process is highly optimized to limit the work our SDK does in the UI Thread and our average time spent in this thread is well under 16ms, the target "frame time" to keep a User Interface updating at 60FPS. This process runs, on average, once every second to provide a reasonably paced video without "stealing" more than one frame per second from the UI.

Bandwidth Usage

On high-bandwidth connections, LogRocket will stream recording data directly to LogRocket servers. We use a highly optimized wire format to minimize total upload volume. You can expect to see around 10KiB/s of traffic going to LogRocket. Image heavy applications may see slightly higher volume at first. On disconnected devices, data is buffered to disk until a high bandwidth connection can be reestablished.

Disk Usage

Event data is streamed to cache storage for on-device persistence. We have optimized our disk access to minimize IO cycles while writing and uploading the data to LogRocket servers. We write to temporary storage that can be reclaimed by the operating system if application critical storage space is required.

Images

Image processing and capture can be expensive, both in compute time and bandwidth usage. Because of this, we limit the data size of images we capture in order to prioritize keeping your app running smoothly. We recommend ensuring your image sources are appropriately sized and compressed in order to improve replay completeness.