-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
feat(replay): Mobile Replay performance overhead #11989
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
2 Skipped Deployments
|
Bundle ReportChanges will increase total bundle size by 966 bytes (0.0%) ⬆️. This is within the configured threshold ✅ Detailed changes
|
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
|
|
||
| - The Session Replay SDK works by capturing screenshots, encoding them into small video segments and transmitting the content to Sentry’s servers. To reduce the amount of data transferred, multiple optimization strategies are employed: | ||
| - The SDK captures at most one screenshot per second at a 1:1 pixel density (commonly referred to as `@1x` on iOS and `mdpi` on Android). This significantly speeds up the screenshot screenshot capture process while maintaining acceptable quality. | ||
| - Screenshots are compressed into lossy `jpeg` files to reduce disk space usage and enable replay recovery in the event of a crash or an ANR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what do we mean by 'replay recovery', its not clear to me?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
recovering last segment/frames of a replay in case a crash happened. Not sure how to phrase this better
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tried to rephrase it - let me know if it's clearer now
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
| | Network Bandwidth | - | 50 KB | | ||
|
|
||
|
|
||
| The benchmarks were run on an iPhone 14 Pro. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we bring this up to the main paragraph above here? I don't think it needs to be isolated
docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
docs/platforms/react-native/session-replay/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
|
|
||
| The only way to get accurate metrics is to measure performance overhead yourself. You can apply realistic access patterns against your own application, and correlate that to your own topline business metrics. | ||
|
|
||
| We measured the overhead of the Replay SDK on various open-source apps that have millions of users in production (i.e. real-world apps that have a big set of different components and features), such as [Bluesky](https://github.com/bluesky-social/social-app) or [Pocket Casts](https://github.com/Automattic/pocket-casts-android). You can check the results on the respective SDK's docs: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we mention Bluesky when both iOS and Android examples are Pocket Casts based? Am I missing something? 👁️
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah we used it for benchmarking as well, but here it's just an example as we don't provide those numbers anywhere. Can remove it, but also don't think it hurts
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…rhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
…d.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com>
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
brustolin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding data and behavior is all good. I will let people with better English review the wording and organization.
lizokm
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks so much for adding this! I've made some language recommendations :)
docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
docs/product/explore/session-replay/mobile/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…rhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…rhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
…rhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io>
Co-authored-by: Liza Mock <liza.mock@sentry.io>
Co-authored-by: Liza Mock <liza.mock@sentry.io>
Co-authored-by: Liza Mock <liza.mock@sentry.io>
docs/platforms/react-native/session-replay/performance-overhead.mdx
Outdated
Show resolved
Hide resolved
* feat(replay): Mobile Replay performance overhead * Fix links * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/platforms/react-native/session-replay/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx * Address PR feedback * Address PR feedback * Update docs/platforms/android/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/product/explore/session-replay/mobile/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/react-native/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/react-native/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/react-native/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/react-native/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/android/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/android/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/android/session-replay/performance-overhead.mdx Co-authored-by: Liza Mock <liza.mock@sentry.io> * Update docs/platforms/react-native/session-replay/performance-overhead.mdx --------- Co-authored-by: Jasmin <77064737+jas-kas@users.noreply.github.com> Co-authored-by: Liza Mock <liza.mock@sentry.io>
DESCRIBE YOUR PR
Adds docs on Mobile Replay overhead to the product section as well as each of the respective SDKs (Flutter currently missing as we don't have the benchmarks yet).
IS YOUR CHANGE URGENT?
Help us prioritize incoming PRs by letting us know when the change needs to go live.
SLA
Thanks in advance for your help!
PRE-MERGE CHECKLIST
Make sure you've checked the following before merging your changes: