-
-
Notifications
You must be signed in to change notification settings - Fork 341
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: Add manual file IO tracking for Swift.Data and Swift.FileManager #4605
base: main
Are you sure you want to change the base?
Conversation
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
We could consider to refactor the class |
Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
db533ee | 1228.96 ms | 1248.23 ms | 19.28 ms |
8f397a7 | 1251.82 ms | 1268.34 ms | 16.52 ms |
e324230 | 1254.92 ms | 1262.92 ms | 8.00 ms |
7ca0491 | 1217.83 ms | 1239.36 ms | 21.53 ms |
7cd187e | 1196.51 ms | 1226.04 ms | 29.53 ms |
eb41178 | 1228.06 ms | 1248.37 ms | 20.31 ms |
7f14650 | 1249.73 ms | 1269.88 ms | 20.14 ms |
1734d1b | 1200.15 ms | 1214.06 ms | 13.92 ms |
d9280ee | 1208.27 ms | 1229.51 ms | 21.24 ms |
1db04d8 | 1250.20 ms | 1258.12 ms | 7.92 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
db533ee | 21.58 KiB | 547.02 KiB | 525.44 KiB |
8f397a7 | 20.76 KiB | 420.55 KiB | 399.79 KiB |
e324230 | 22.85 KiB | 408.88 KiB | 386.03 KiB |
7ca0491 | 21.90 KiB | 708.33 KiB | 686.43 KiB |
7cd187e | 20.76 KiB | 401.66 KiB | 380.90 KiB |
eb41178 | 21.58 KiB | 544.86 KiB | 523.28 KiB |
7f14650 | 22.84 KiB | 402.63 KiB | 379.79 KiB |
1734d1b | 21.58 KiB | 418.82 KiB | 397.23 KiB |
d9280ee | 21.58 KiB | 669.82 KiB | 648.23 KiB |
1db04d8 | 20.76 KiB | 435.50 KiB | 414.74 KiB |
Previous results on branch: philprime/file-io-tracking-fix
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
ef871ac | 1207.49 ms | 1231.92 ms | 24.43 ms |
ec1acc1 | 1237.65 ms | 1250.54 ms | 12.90 ms |
e9ec0cb | 1221.08 ms | 1242.90 ms | 21.81 ms |
3588c99 | 1242.96 ms | 1264.22 ms | 21.27 ms |
8b628ff | 1213.15 ms | 1239.17 ms | 26.01 ms |
1f201e0 | 1231.24 ms | 1254.83 ms | 23.59 ms |
6a01c37 | 1229.94 ms | 1243.82 ms | 13.88 ms |
e0cf4f9 | 1218.80 ms | 1229.96 ms | 11.16 ms |
e7b3309 | 1233.23 ms | 1251.71 ms | 18.47 ms |
85eb414 | 1232.55 ms | 1255.69 ms | 23.14 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
ef871ac | 22.31 KiB | 776.76 KiB | 754.44 KiB |
ec1acc1 | 22.31 KiB | 770.06 KiB | 747.75 KiB |
e9ec0cb | 22.31 KiB | 770.73 KiB | 748.42 KiB |
3588c99 | 22.31 KiB | 778.24 KiB | 755.93 KiB |
8b628ff | 22.30 KiB | 751.72 KiB | 729.42 KiB |
1f201e0 | 22.30 KiB | 751.69 KiB | 729.39 KiB |
6a01c37 | 22.31 KiB | 778.67 KiB | 756.36 KiB |
e0cf4f9 | 22.31 KiB | 773.79 KiB | 751.48 KiB |
e7b3309 | 22.31 KiB | 779.13 KiB | 756.82 KiB |
85eb414 | 22.31 KiB | 772.94 KiB | 750.62 KiB |
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
Thanks for this investigation. Since you enable testing for iOS 18.2, we have other I/O tests failing. We could solve them in a different PR that will merge to this one, or disable those tests before merging this to Main. |
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4605 +/- ##
=============================================
+ Coverage 92.164% 92.395% +0.231%
=============================================
Files 658 664 +6
Lines 77222 78688 +1466
Branches 27170 28579 +1409
=============================================
+ Hits 71171 72704 +1533
+ Misses 5957 5887 -70
- Partials 94 97 +3
... and 30 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
|
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
@philipphofmann I added an experimental option to disable swizzling for While working on it, I added additional methods for copy, move and delete of files. We can also move that into another PR if worth the extra effort. |
We've decided in Slack that this PR is rather large and should be split into multiple ones (as far as possible). |
🚨 Detected changes in high risk code 🚨High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:
|
@@ -7,6 +7,7 @@ | |||
- Add `showMaskPreview` to `SentrySDK.replay` api to debug replay masking (#4761) | |||
- Session replay masking preview for SwiftUI (#4737) | |||
- HTTP Breadcrumb level based on response status code (#4779) 4xx is warning, 5xx is error. | |||
- Add manual file IO tracking methods for Swift.Data and Swift.FileManager (#4605) |
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.
- 🚫 The changelog entry seems to be part of an already released section
## 8.45.0
.
Consider moving the entry to the## Unreleased
section, please.
@philprime does it still make sense to keep this PR open? Can't we close this? |
I want this to stay open so I can verify after everything is merged that I did not miss anything |
Open Sub Tasks:
SentryNSDataTracker
toSentryFileIOTracker
SentryFileIOTrackingIntegrationTests.swift
Out-of-scope for this PR:
Closes #4546
Separated into multiple PRs: