Skip to content
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

feat: Session Replay #3625

Merged
merged 37 commits into from
Apr 11, 2024
Merged

feat: Session Replay #3625

merged 37 commits into from
Apr 11, 2024

Conversation

brustolin
Copy link
Contributor

@brustolin brustolin commented Feb 12, 2024

📜 Description

Added session replay

💡 Motivation and Context

Close #2616
Relates to:

💚 How did you test it?

📝 Checklist

You have to check all boxes before merging:

  • I reviewed the submitted code.
  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.

🔮 Next steps

Copy link

github-actions bot commented Feb 12, 2024

Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against 35e59ae

Copy link

github-actions bot commented Mar 5, 2024

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1236.94 ms 1249.48 ms 12.54 ms
Size 21.58 KiB 612.10 KiB 590.52 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
7f691b5 1233.94 ms 1243.80 ms 9.86 ms
c0f08e7 1230.67 ms 1246.31 ms 15.63 ms
b35ccd0 1224.59 ms 1241.08 ms 16.49 ms
50bb751 1296.52 ms 1323.73 ms 27.21 ms
47b41ed 1252.31 ms 1253.96 ms 1.64 ms
42ef6ba 1195.04 ms 1214.35 ms 19.31 ms
c00eafe 1198.26 ms 1227.62 ms 29.36 ms
bd2afa6 1192.31 ms 1210.37 ms 18.05 ms
939cd63 1222.53 ms 1250.76 ms 28.23 ms
c76f9b0 1249.78 ms 1265.14 ms 15.36 ms

App size

Revision Plain With Sentry Diff
7f691b5 20.76 KiB 420.55 KiB 399.79 KiB
c0f08e7 21.58 KiB 573.84 KiB 552.26 KiB
b35ccd0 21.58 KiB 573.14 KiB 551.56 KiB
50bb751 21.58 KiB 417.85 KiB 396.27 KiB
47b41ed 20.76 KiB 436.66 KiB 415.90 KiB
42ef6ba 21.58 KiB 417.87 KiB 396.28 KiB
c00eafe 20.76 KiB 432.87 KiB 412.11 KiB
bd2afa6 20.76 KiB 420.55 KiB 399.79 KiB
939cd63 21.58 KiB 424.35 KiB 402.76 KiB
c76f9b0 22.85 KiB 406.69 KiB 383.84 KiB

Previous results on branch: feat/session-replay

Startup times

Revision Plain With Sentry Diff
0de47cc 1219.55 ms 1245.96 ms 26.41 ms
4b92944 1236.31 ms 1254.06 ms 17.76 ms
bfd4dba 1219.93 ms 1238.14 ms 18.21 ms
ff24ee1 1234.10 ms 1251.12 ms 17.02 ms

App size

Revision Plain With Sentry Diff
0de47cc 21.58 KiB 549.65 KiB 528.06 KiB
4b92944 21.58 KiB 547.02 KiB 525.44 KiB
bfd4dba 21.58 KiB 612.11 KiB 590.53 KiB
ff24ee1 21.58 KiB 612.09 KiB 590.50 KiB

Copy link

codecov bot commented Mar 14, 2024

Codecov Report

Attention: Patch coverage is 77.77778% with 214 lines in your changes are missing coverage. Please review.

Project coverage is 90.649%. Comparing base (6ac15dd) to head (35e59ae).

Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##              main     #3625       +/-   ##
=============================================
- Coverage   90.931%   90.649%   -0.282%     
=============================================
  Files          560       578       +18     
  Lines        44272     45226      +954     
  Branches     15776     16094      +318     
=============================================
+ Hits         40257     40997      +740     
- Misses        3835      4049      +214     
  Partials       180       180               
Files Coverage Δ
SentryTestUtils/TestTransport.swift 90.909% <ø> (ø)
Sources/Sentry/SentryBaseIntegration.m 96.938% <100.000%> (+0.309%) ⬆️
Sources/Sentry/SentryDataCategoryMapper.m 96.875% <100.000%> (-1.401%) ⬇️
Sources/Sentry/SentryDateUtil.m 100.000% <100.000%> (ø)
Sources/Sentry/SentryHub.m 98.533% <100.000%> (+0.017%) ⬆️
Sources/Sentry/SentryOptions.m 99.191% <100.000%> (+0.013%) ⬆️
Sources/Sentry/SentryReplayEvent.m 100.000% <100.000%> (ø)
Sources/Sentry/SentryReplayRecording.m 100.000% <100.000%> (ø)
Sources/Sentry/SentrySerialization.m 89.387% <100.000%> (+0.266%) ⬆️
...t/Integrations/SessionReplay/SentryVideoInfo.swift 100.000% <100.000%> (ø)
... and 25 more

... and 14 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6ac15dd...35e59ae. Read the comment docs.

@bruno-garcia bruno-garcia changed the title feat: Add Session Replay feat: Session Replay Apr 4, 2024
@brustolin brustolin marked this pull request as ready for review April 10, 2024 12:54
Copy link
Member

@philipphofmann philipphofmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed in a meeting, we will review the session replay code thoroughly after merging this PR to main. This review is only to ensure that the code in this PR doesn't impact other SDK functionality.

CHANGELOG.md Outdated Show resolved Hide resolved
Sentry.podspec Show resolved Hide resolved
Sources/Configuration/SentryNoUI.xcconfig Show resolved Hide resolved
Sources/Sentry/Public/SentryOptions.h Outdated Show resolved Hide resolved
Sources/Sentry/SentryClient.m Outdated Show resolved Hide resolved
Sources/Sentry/SentryClient.m Outdated Show resolved Hide resolved
Sources/Sentry/include/SentryDataCategory.h Outdated Show resolved Hide resolved
Sources/Sentry/SentryEnvelope.m Outdated Show resolved Hide resolved
Sources/Sentry/SentryScope.m Outdated Show resolved Hide resolved
Copy link
Member

@philipphofmann philipphofmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mentioning this again for the approval:

As discussed in a meeting, we will review the session replay code thoroughly after merging this PR to main. This review is only to ensure that the code in this PR doesn't impact other SDK functionality.

LGTM, but CI still complains a bit.

CHANGELOG.md Outdated Show resolved Hide resolved
Sources/Sentry/include/SentryPrivate.h Show resolved Hide resolved
@brustolin brustolin merged commit 1a86fb2 into main Apr 11, 2024
69 of 71 checks passed
@brustolin brustolin deleted the feat/session-replay branch April 11, 2024 14:38
dKasabwala pushed a commit to dKasabwala/sentry-cocoa that referenced this pull request May 6, 2024
Added session replay

Co-authored-by: Philipp Hofmann <[email protected]>
threema-matteo pushed a commit to threema-ch/sentry-cocoa that referenced this pull request May 21, 2024
Added session replay

Co-authored-by: Philipp Hofmann <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Session Replay for iOS native apps
3 participants