-
-
Notifications
You must be signed in to change notification settings - Fork 323
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
Expose Sentry._Hybrid
explicit module
#4440
base: main
Are you sure you want to change the base?
Conversation
# Conflicts: # Sentry.xcodeproj/project.pbxproj
|
Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
879fb28 | 1243.18 ms | 1255.98 ms | 12.80 ms |
98752f3 | 1226.18 ms | 1251.38 ms | 25.20 ms |
e0904ef | 1231.85 ms | 1252.38 ms | 20.53 ms |
3f6c30b | 1252.98 ms | 1266.22 ms | 13.24 ms |
26530fe | 1233.98 ms | 1250.06 ms | 16.08 ms |
742d4b6 | 1196.56 ms | 1216.54 ms | 19.98 ms |
8b1c6a9 | 1216.92 ms | 1230.90 ms | 13.98 ms |
643853e | 1225.75 ms | 1247.00 ms | 21.25 ms |
8e76be4 | 1272.67 ms | 1286.38 ms | 13.71 ms |
dacf894 | 1223.96 ms | 1250.41 ms | 26.45 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
879fb28 | 22.84 KiB | 402.88 KiB | 380.03 KiB |
98752f3 | 20.76 KiB | 435.09 KiB | 414.33 KiB |
e0904ef | 21.58 KiB | 614.64 KiB | 593.06 KiB |
3f6c30b | 22.85 KiB | 408.88 KiB | 386.03 KiB |
26530fe | 21.58 KiB | 714.93 KiB | 693.35 KiB |
742d4b6 | 21.58 KiB | 546.20 KiB | 524.62 KiB |
8b1c6a9 | 21.58 KiB | 706.97 KiB | 685.38 KiB |
643853e | 21.58 KiB | 655.73 KiB | 634.15 KiB |
8e76be4 | 20.76 KiB | 427.66 KiB | 406.89 KiB |
dacf894 | 20.76 KiB | 426.34 KiB | 405.58 KiB |
Previous results on branch: feat/hybrid-sdk-private-modulemap
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
3dc0c00 | 1235.20 ms | 1250.67 ms | 15.47 ms |
6b94106 | 1232.12 ms | 1253.14 ms | 21.02 ms |
440380a | 1233.94 ms | 1251.60 ms | 17.66 ms |
5ddaad1 | 1234.75 ms | 1252.96 ms | 18.21 ms |
25f6d46 | 1238.86 ms | 1258.98 ms | 20.12 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
3dc0c00 | 21.90 KiB | 726.90 KiB | 705.00 KiB |
6b94106 | 21.90 KiB | 726.89 KiB | 704.99 KiB |
440380a | 21.90 KiB | 708.33 KiB | 686.43 KiB |
5ddaad1 | 21.90 KiB | 730.10 KiB | 708.20 KiB |
25f6d46 | 22.30 KiB | 730.10 KiB | 707.80 KiB |
…try/sentry-cocoa into feat/hybrid-sdk-private-modulemap
@philipphofmann Maybe it's enough to mark the headers in question as package private, wdyt? |
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.
First pass, it looks good.
We will need a test workflow of sample using |
Closed in favor of #4486 |
# Conflicts: # Sentry.xcodeproj/project.pbxproj
@brustolin @philipphofmann Turns our we do need the explicit module after all to import the needed files in Flutter when integrating through SPM. Therefore i reopened this PR. |
HybridSDK
from Sentry
frameworkSentry._Hybrid
from Sentry
framework
Sentry._Hybrid
from Sentry
frameworkSentry._Hybrid
explicit module
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #4440 +/- ##
=============================================
+ Coverage 91.566% 91.575% +0.008%
=============================================
Files 615 615
Lines 69701 69689 -12
Branches 24967 24957 -10
=============================================
- Hits 63823 63818 -5
+ Misses 5787 5779 -8
- Partials 91 92 +1
... and 9 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
# Conflicts: # .github/workflows/ui-tests-critical.yml
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.
We need to implement some CI tests to prevent regression, as it’s easy to break since this is only used by hybrid SDKs.
Maybe trying to access Sentry._Hybrid
from the test would be enough.
header "PrivateSentrySDKOnly.h" | ||
header "PrivatesHeader.h" | ||
header "SentryAppStartMeasurement.h" | ||
header "SentryBinaryImageCache.h" | ||
header "SentryBreadcrumb+Private.h" | ||
header "SentryDebugImageProvider+HybridSDKs.h" | ||
header "SentryDependencyContainer.h" | ||
header "SentryEnvelope.h" | ||
header "SentryEnvelopeItemType.h" | ||
header "SentryFormatter.h" | ||
header "SentryFramesTracker.h" | ||
header "SentryOptions+HybridSDKs.h" | ||
header "SentryScreenFrames.h" | ||
header "SentrySwizzle.h" | ||
header "SentryUser+Private.h" | ||
|
||
header "SentryBaseIntegration.h" | ||
header "SentrySessionReplayIntegration.h" | ||
header "SentrySessionReplayIntegration-Hybrid.h" | ||
|
||
header "SentrySdkInfo.h" | ||
header "SentryInternalSerializable.h" |
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.
l: Is it possible to have one header that has all this other headers as reference? The same way we do with Sentry.h
.
Just because a header can be more versatile.
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.
Had some issues with this approach, but will try again.
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.
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.
Ok, no problem. We can continue without it.
📜 Description
We want to support SPM in our sentry flutter framework. In order to do this, we need the hybrid classes, which we expose though Cocoapods, to also be available in our SPM package.
This PR adds an explicit module
Sentry._Hybrid
with the hybrid headers.💡 Motivation and Context
Unblocks getsentry/sentry-dart#2280
💚 How did you test it?
📝 Checklist
You have to check all boxes before merging:
sendDefaultPII
is enabled.