-
-
Notifications
You must be signed in to change notification settings - Fork 354
Ref(Logs): Move it outside of Experimental #5122
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
Conversation
| if (options.enableLogs) { | ||
| this.on('flush', () => { |
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.
Potential bug: The refactoring to a top-level enableLogs option is incomplete. The property is missing from the BaseReactNativeOptions type, which will cause build failures and disable logging.
-
Description: The code was updated to access
options.enableLogsinstead of the experimentaloptions._experiments?.enableLogs. However, theenableLogsproperty was not added to theBaseReactNativeOptionsinterface. Consequently, TypeScript projects using this option will fail to compile. For other projects,options.enableLogswill resolve toundefinedat runtime, which disables the logs integration and prevents logs from being captured. This makes the feature non-functional for users following the migration path documented in the changelog. -
Suggested fix: Add the optional
enableLogs?: booleanproperty to theBaseReactNativeOptionsinterface inpackages/core/src/js/options.ts. This will correctly type the new top-level option and ensure the logs integration can be enabled as intended by the refactor.
severity: 0.75, confidence: 0.95
Did we get this right? 👍 / 👎 to inform future reviews.
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.
enableLogs comes from @sentry/core options. BaseReactNativeOptions only contains React Native exclusive options. Users use ReactNativeOptions instead of BaseReactNativeOptions.
ReactNativeOptions only server as an extension of BaseReactNativeOptions and Options from @sentry/core so the mentioned error will not happen.
Android (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 10ec2e1 | 435.28 ms | 431.58 ms | -3.70 ms |
| 472960b | 418.84 ms | 405.38 ms | -13.46 ms |
| 11cc947 | 501.96 ms | 486.04 ms | -15.92 ms |
| 0e27665 | 356.27 ms | 367.74 ms | 11.47 ms |
| 7eff2d7 | 420.64 ms | 401.86 ms | -18.78 ms |
| fb47c4a | 435.33 ms | 434.94 ms | -0.40 ms |
| f870f2d | 444.67 ms | 449.62 ms | 4.95 ms |
| 26515b5 | 446.24 ms | 441.91 ms | -4.33 ms |
| 20d0171 | 366.62 ms | 366.43 ms | -0.19 ms |
| c26618b | 435.76 ms | 430.14 ms | -5.62 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 10ec2e1 | 17.75 MiB | 19.60 MiB | 1.85 MiB |
| 472960b | 17.75 MiB | 19.58 MiB | 1.83 MiB |
| 11cc947 | 17.75 MiB | 19.60 MiB | 1.86 MiB |
| 0e27665 | 17.75 MiB | 19.60 MiB | 1.85 MiB |
| 7eff2d7 | 17.75 MiB | 19.60 MiB | 1.85 MiB |
| fb47c4a | 17.75 MiB | 19.60 MiB | 1.85 MiB |
| f870f2d | 17.75 MiB | 19.58 MiB | 1.83 MiB |
| 26515b5 | 17.75 MiB | 19.60 MiB | 1.86 MiB |
| 20d0171 | 17.75 MiB | 19.60 MiB | 1.85 MiB |
| c26618b | 17.75 MiB | 19.60 MiB | 1.85 MiB |
iOS (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| c26618b+dirty | 1230.06 ms | 1233.30 ms | 3.24 ms |
| 0e27665+dirty | 1213.52 ms | 1237.61 ms | 24.09 ms |
| 20d0171+dirty | 1214.96 ms | 1215.20 ms | 0.25 ms |
| 472960b+dirty | 1213.96 ms | 1222.58 ms | 8.62 ms |
| 26515b5+dirty | 1240.49 ms | 1237.19 ms | -3.30 ms |
| fb47c4a+dirty | 1231.00 ms | 1231.33 ms | 0.33 ms |
| 7eff2d7+dirty | 1225.34 ms | 1234.53 ms | 9.19 ms |
| 11cc947+dirty | 1239.65 ms | 1239.64 ms | -0.01 ms |
| 10ec2e1+dirty | 1228.02 ms | 1237.54 ms | 9.52 ms |
| 3c99746+dirty | 1215.12 ms | 1222.31 ms | 7.18 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| c26618b+dirty | 2.63 MiB | 3.82 MiB | 1.19 MiB |
| 0e27665+dirty | 2.63 MiB | 3.80 MiB | 1.17 MiB |
| 20d0171+dirty | 2.63 MiB | 3.80 MiB | 1.17 MiB |
| 472960b+dirty | 2.63 MiB | 3.79 MiB | 1.15 MiB |
| 26515b5+dirty | 2.63 MiB | 3.83 MiB | 1.19 MiB |
| fb47c4a+dirty | 2.63 MiB | 3.80 MiB | 1.17 MiB |
| 7eff2d7+dirty | 2.63 MiB | 3.79 MiB | 1.16 MiB |
| 11cc947+dirty | 2.63 MiB | 3.82 MiB | 1.19 MiB |
| 10ec2e1+dirty | 2.63 MiB | 3.82 MiB | 1.19 MiB |
| 3c99746+dirty | 2.63 MiB | 3.78 MiB | 1.15 MiB |
Android (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 0e27665+dirty | 355.91 ms | 422.52 ms | 66.61 ms |
| 7eff2d7+dirty | 393.13 ms | 426.77 ms | 33.65 ms |
| f870f2d+dirty | 398.49 ms | 434.24 ms | 35.75 ms |
| 26515b5+dirty | 389.83 ms | 443.94 ms | 54.11 ms |
| 472960b+dirty | 394.39 ms | 376.18 ms | -18.20 ms |
| 11cc947+dirty | 385.96 ms | 420.08 ms | 34.12 ms |
| 20d0171+dirty | 380.17 ms | 422.57 ms | 42.40 ms |
| c26618b+dirty | 354.44 ms | 414.73 ms | 60.29 ms |
| 10ec2e1+dirty | 373.87 ms | 443.64 ms | 69.78 ms |
| 3c99746+dirty | 400.65 ms | 399.59 ms | -1.06 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 0e27665+dirty | 7.15 MiB | 8.35 MiB | 1.20 MiB |
| 7eff2d7+dirty | 7.15 MiB | 8.35 MiB | 1.20 MiB |
| f870f2d+dirty | 7.15 MiB | 8.34 MiB | 1.18 MiB |
| 26515b5+dirty | 7.15 MiB | 8.36 MiB | 1.21 MiB |
| 472960b+dirty | 7.15 MiB | 8.34 MiB | 1.18 MiB |
| 11cc947+dirty | 7.15 MiB | 8.36 MiB | 1.20 MiB |
| 20d0171+dirty | 7.15 MiB | 8.35 MiB | 1.20 MiB |
| c26618b+dirty | 7.15 MiB | 8.36 MiB | 1.20 MiB |
| 10ec2e1+dirty | 7.15 MiB | 8.35 MiB | 1.20 MiB |
| 3c99746+dirty | 7.15 MiB | 8.34 MiB | 1.18 MiB |
iOS (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| c26618b+dirty | 1228.54 ms | 1236.52 ms | 7.98 ms |
| 0e27665+dirty | 1207.12 ms | 1220.33 ms | 13.20 ms |
| 20d0171+dirty | 1214.21 ms | 1220.31 ms | 6.10 ms |
| 472960b+dirty | 1243.67 ms | 1233.57 ms | -10.11 ms |
| 26515b5+dirty | 1216.98 ms | 1224.24 ms | 7.27 ms |
| fb47c4a+dirty | 1243.40 ms | 1245.86 ms | 2.46 ms |
| 7eff2d7+dirty | 1224.84 ms | 1227.94 ms | 3.10 ms |
| 11cc947+dirty | 1218.92 ms | 1234.24 ms | 15.33 ms |
| 10ec2e1+dirty | 1229.04 ms | 1222.28 ms | -6.76 ms |
| 3c99746+dirty | 1227.65 ms | 1228.81 ms | 1.16 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| c26618b+dirty | 3.19 MiB | 4.39 MiB | 1.20 MiB |
| 0e27665+dirty | 3.19 MiB | 4.37 MiB | 1.18 MiB |
| 20d0171+dirty | 3.19 MiB | 4.37 MiB | 1.18 MiB |
| 472960b+dirty | 3.19 MiB | 4.36 MiB | 1.17 MiB |
| 26515b5+dirty | 3.19 MiB | 4.39 MiB | 1.20 MiB |
| fb47c4a+dirty | 3.19 MiB | 4.37 MiB | 1.18 MiB |
| 7eff2d7+dirty | 3.19 MiB | 4.36 MiB | 1.17 MiB |
| 11cc947+dirty | 3.19 MiB | 4.39 MiB | 1.20 MiB |
| 10ec2e1+dirty | 3.19 MiB | 4.39 MiB | 1.20 MiB |
| 3c99746+dirty | 3.19 MiB | 4.35 MiB | 1.16 MiB |
antonis
left a comment
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.
LGTM 🎸
Thank you for your work on this @lucas-zimerman 🙇
📢 Type of change
📜 Description
Logs are no longer experimental, this PR removes them from the experimental flag.
Tested logs: https://sentry-sdks.sentry.io/explore/logs/?end=2025-09-02T09%3A46%3A00&logsFields=timestamp&logsFields=message&logsSortBys=-timestamp&project=5428561&start=2025-09-02T09%3A43%3A00
💡 Motivation and Context
💚 How did you test it?
📝 Checklist
sendDefaultPIIis enabled🔮 Next steps
Close #5116