Comment

Comment by benthehenten

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.

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton