|
|
|
|
|
by benthehenten
3025 days ago
|
|
I'm not sure about the implementation in Session Stack, but I work at LogRocket (https://logrocket.com) where we're solving a similar problem. We use a few methods to ensure that we have a minimal overhead on performance. - We use worker threads for data encoding and network I/O - We use the MutationObserver API for capturing diffs of the DOM - We pull static resources directly from an application's servers (vs uploading from the client) - Loading method shims first (and later the rest of our SDK asynchronously) to reduce initial loading time - Batching requests and waiting for network downtime to send data - We use Protobufs as a wire format for reducing bandwidth I'm sure Session Stack employs some similar techniques- would be curious to hear about methods they're using as well. |
|
Is this open sourced? I would like to understand how this works? (how do you capture network i/o?)