Skip to content

Conversation

@romtsn
Copy link
Member

@romtsn romtsn commented Nov 28, 2024

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.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

@vercel
Copy link

vercel bot commented Nov 28, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
sentry-docs 🛑 Canceled (Inspect) Dec 4, 2024 3:07pm
2 Skipped Deployments
Name Status Preview Comments Updated (UTC)
changelog ⬜️ Ignored (Inspect) Visit Preview Dec 4, 2024 3:07pm
develop-docs ⬜️ Ignored (Inspect) Visit Preview Dec 4, 2024 3:07pm

@codecov
Copy link

codecov bot commented Nov 28, 2024

Bundle Report

Changes will increase total bundle size by 966 bytes (0.0%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
sentry-docs-server-cjs 10.2MB 972 bytes (0.01%) ⬆️
sentry-docs-client-array-push 9.11MB 6 bytes (-0.0%) ⬇️


- 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.
Copy link
Member

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?

Copy link
Member Author

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

Copy link
Member Author

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

| Network Bandwidth | - | 50 KB |


The benchmarks were run on an iPhone 14 Pro.
Copy link
Member

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


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:
Copy link
Member

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? 👁️

Copy link
Member Author

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

romtsn and others added 11 commits November 29, 2024 09:00
…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>
Copy link
Contributor

@brustolin brustolin left a 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.

Copy link
Contributor

@lizokm lizokm left a 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 :)

romtsn and others added 2 commits December 4, 2024 13:50
Co-authored-by: Liza Mock <liza.mock@sentry.io>
…d.mdx

Co-authored-by: Liza Mock <liza.mock@sentry.io>
romtsn and others added 3 commits December 4, 2024 14:47
…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>
romtsn and others added 14 commits December 4, 2024 15:26
…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>
@romtsn romtsn merged commit 7609dca into master Dec 4, 2024
11 checks passed
@romtsn romtsn deleted the rz/feat/session-replay-perf-overehead branch December 4, 2024 15:12
Lms24 pushed a commit that referenced this pull request Dec 13, 2024
* 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>
@github-actions github-actions bot locked and limited conversation to collaborators Dec 20, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants