getsentry / sentry-cocoa

The official Sentry SDK for iOS, tvOS, macOS, watchOS.
https://sentry.io/for/cocoa/
MIT License
773 stars 306 forks source link

ref: Creating RRWebEvent entities in preparation to Session Replay breadcrumbs #3964

Closed brustolin closed 6 days ago

brustolin commented 3 weeks ago

Move SessionReplayRecording to Swift, created types for RRWebEvents, this is necessary to create breadcrumbs for replay.

#skip-changelog

codecov[bot] commented 3 weeks ago

Codecov Report

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

Project coverage is 90.828%. Comparing base (699d76f) to head (9475065).

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964/graphs/tree.svg?width=650&height=150&src=pr&token=PTZKtOJlrs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry)](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry) ```diff @@ Coverage Diff @@ ## main #3964 +/- ## ============================================= - Coverage 90.848% 90.828% -0.020% ============================================= Files 594 599 +5 Lines 46494 46505 +11 Branches 16655 16662 +7 ============================================= + Hits 42239 42240 +1 - Misses 4075 4195 +120 + Partials 180 70 -110 ``` | [Files](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry) | Coverage Δ | | |---|---|---| | [Sources/Sentry/SentryEnvelope.m](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Sources%2FSentry%2FSentryEnvelope.m&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-U291cmNlcy9TZW50cnkvU2VudHJ5RW52ZWxvcGUubQ==) | `89.130% <ø> (ø)` | | | [Sources/Sentry/SentrySerialization.m](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Sources%2FSentry%2FSentrySerialization.m&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-U291cmNlcy9TZW50cnkvU2VudHJ5U2VyaWFsaXphdGlvbi5t) | `89.387% <ø> (ø)` | | | [Sources/Sentry/SentrySessionReplay.m](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Sources%2FSentry%2FSentrySessionReplay.m&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-U291cmNlcy9TZW50cnkvU2VudHJ5U2Vzc2lvblJlcGxheS5t) | `86.624% <ø> (ø)` | | | [...s/SessionReplay/RRWeb/SentryRRWebCustomEvent.swift](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Sources%2FSwift%2FIntegrations%2FSessionReplay%2FRRWeb%2FSentryRRWebCustomEvent.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-U291cmNlcy9Td2lmdC9JbnRlZ3JhdGlvbnMvU2Vzc2lvblJlcGxheS9SUldlYi9TZW50cnlSUldlYkN1c3RvbUV2ZW50LnN3aWZ0) | `100.000% <100.000%> (ø)` | | | [...rations/SessionReplay/RRWeb/SentryRRWebEvent.swift](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Sources%2FSwift%2FIntegrations%2FSessionReplay%2FRRWeb%2FSentryRRWebEvent.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-U291cmNlcy9Td2lmdC9JbnRlZ3JhdGlvbnMvU2Vzc2lvblJlcGxheS9SUldlYi9TZW50cnlSUldlYkV2ZW50LnN3aWZ0) | `100.000% <100.000%> (ø)` | | | [...ons/SessionReplay/RRWeb/SentryRRWebMetaEvent.swift](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Sources%2FSwift%2FIntegrations%2FSessionReplay%2FRRWeb%2FSentryRRWebMetaEvent.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-U291cmNlcy9Td2lmdC9JbnRlZ3JhdGlvbnMvU2Vzc2lvblJlcGxheS9SUldlYi9TZW50cnlSUldlYk1ldGFFdmVudC5zd2lmdA==) | `100.000% <100.000%> (ø)` | | | [...ns/SessionReplay/RRWeb/SentryRRWebVideoEvent.swift](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Sources%2FSwift%2FIntegrations%2FSessionReplay%2FRRWeb%2FSentryRRWebVideoEvent.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-U291cmNlcy9Td2lmdC9JbnRlZ3JhdGlvbnMvU2Vzc2lvblJlcGxheS9SUldlYi9TZW50cnlSUldlYlZpZGVvRXZlbnQuc3dpZnQ=) | `100.000% <100.000%> (ø)` | | | [...grations/SessionReplay/SentryReplayRecording.swift](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Sources%2FSwift%2FIntegrations%2FSessionReplay%2FSentryReplayRecording.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-U291cmNlcy9Td2lmdC9JbnRlZ3JhdGlvbnMvU2Vzc2lvblJlcGxheS9TZW50cnlSZXBsYXlSZWNvcmRpbmcuc3dpZnQ=) | `100.000% <100.000%> (ø)` | | | [.../SentryTests/Helper/SentrySerializationTests.swift](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Tests%2FSentryTests%2FHelper%2FSentrySerializationTests.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-VGVzdHMvU2VudHJ5VGVzdHMvSGVscGVyL1NlbnRyeVNlcmlhbGl6YXRpb25UZXN0cy5zd2lmdA==) | `98.237% <ø> (ø)` | | | [...ons/SessionReplay/SentryReplayRecordingTests.swift](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree&filepath=Tests%2FSentryTests%2FIntegrations%2FSessionReplay%2FSentryReplayRecordingTests.swift&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry#diff-VGVzdHMvU2VudHJ5VGVzdHMvSW50ZWdyYXRpb25zL1Nlc3Npb25SZXBsYXkvU2VudHJ5UmVwbGF5UmVjb3JkaW5nVGVzdHMuc3dpZnQ=) | `100.000% <100.000%> (ø)` | | | ... and [3 more](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry) | | ... and [28 files with indirect coverage changes](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry) ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?dropdown=coverage&src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry). Last update [699d76f...9475065](https://app.codecov.io/gh/getsentry/sentry-cocoa/pull/3964?dropdown=coverage&src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getsentry).
github-actions[bot] commented 2 weeks ago

Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 1221.35 ms 1244.90 ms 23.55 ms
Size 21.58 KiB 637.31 KiB 615.73 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
6bc5ae5e4f3e1fb4414ab1b0643ffc3ec87ded1f 1207.23 ms 1216.66 ms 9.43 ms
be51b56f07a0289bee9d8145dcdbaa33e4466f34 1220.84 ms 1249.36 ms 28.52 ms
bd2cb64c337396d596e8787d6e8d70e81e02e3ca 1216.14 ms 1241.78 ms 25.64 ms
9fa5d2786900a303bf419b3adcbf2810c0bb8c14 1219.86 ms 1221.71 ms 1.85 ms
282cc99ae8832fd57b75d9dc5b13c2aac3c4ddbf 1238.27 ms 1253.46 ms 15.19 ms
9f0d9e0ce4c7650c21f95ebc0a2fc24b50255d55 1226.31 ms 1242.70 ms 16.40 ms
e7b566f89ade4e83f19a1156ff7e5d14dc60e4bc 1197.49 ms 1229.46 ms 31.97 ms
216bdf9e7829593fd30a282fef734663f9b17d99 1199.84 ms 1209.53 ms 9.69 ms
56ec5d04c9b2d9c989dfc5e55f904c537bdc2956 1236.65 ms 1261.90 ms 25.25 ms
c379c5e4a8b08af6cfec9b4380ca97a45dc333b9 1222.73 ms 1246.55 ms 23.82 ms

App size

Revision Plain With Sentry Diff
6bc5ae5e4f3e1fb4414ab1b0643ffc3ec87ded1f 20.76 KiB 401.39 KiB 380.63 KiB
be51b56f07a0289bee9d8145dcdbaa33e4466f34 20.76 KiB 432.20 KiB 411.44 KiB
bd2cb64c337396d596e8787d6e8d70e81e02e3ca 22.85 KiB 413.45 KiB 390.60 KiB
9fa5d2786900a303bf419b3adcbf2810c0bb8c14 20.76 KiB 393.37 KiB 372.61 KiB
282cc99ae8832fd57b75d9dc5b13c2aac3c4ddbf 22.85 KiB 414.09 KiB 391.24 KiB
9f0d9e0ce4c7650c21f95ebc0a2fc24b50255d55 21.58 KiB 424.28 KiB 402.70 KiB
e7b566f89ade4e83f19a1156ff7e5d14dc60e4bc 22.85 KiB 414.80 KiB 391.95 KiB
216bdf9e7829593fd30a282fef734663f9b17d99 21.58 KiB 418.13 KiB 396.54 KiB
56ec5d04c9b2d9c989dfc5e55f904c537bdc2956 20.76 KiB 414.44 KiB 393.69 KiB
c379c5e4a8b08af6cfec9b4380ca97a45dc333b9 21.58 KiB 616.72 KiB 595.14 KiB