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.
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.
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 low-performing or disconnected devices, data is buffered to disk until a high bandwidth connection can be reestablished.
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.
Updated 7 months ago