-
-
Notifications
You must be signed in to change notification settings - Fork 464
Reduce the number of IPC calls #4058
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
🚨 Detected changes in high risk code 🚨High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
|
🚨 Detected changes in high risk code 🚨High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
|
e4f3581 to
fbd0918
Compare
🚨 Detected changes in high risk code 🚨High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
|
Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| ba9db79 | 448.98 ms | 516.84 ms | 67.86 ms |
| 75c08f1 | 412.24 ms | 497.08 ms | 84.84 ms |
| eb9154f | 419.19 ms | 474.28 ms | 55.09 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| ba9db79 | 1.70 MiB | 2.36 MiB | 671.15 KiB |
| 75c08f1 | 1.70 MiB | 2.36 MiB | 671.15 KiB |
| eb9154f | 1.70 MiB | 2.36 MiB | 671.15 KiB |
🚨 Detected changes in high risk code 🚨High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
|
🚨 Detected changes in high risk code 🚨High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
|
markushi
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.
Made a few small changes, LGTM now!
🚨 Detected changes in high risk code 🚨High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
|
stefanosiano
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.
looks good
In case it will ever be needed again, we could change the LazyEvaluator to have a generic parameter in the getValue().
That way we could even pass a Pair<Context, BuildInfoProvider> so that we don't need multiple evaluators for different API levels.
Not sure if it's worth it now, but let's keep it in mind in the future
* Remove binder call for external storage * Remove binder call for memory in profiler * Cache static values to avoid binder calls * Comment * Changelog * Formatting * Fix tests * Minor fixes * change protected method in final class to private --------- Co-authored-by: Markus Hintersteiner <[email protected]> Co-authored-by: stefanosiano <[email protected]>
* Various fixes to instrumentations running on the main thread (#4051) * Get rid of redundant requireNonNull * Do not instrument Window.Callback multiple times * Do not instrument FileIO if tracing is disabled * Do not traverse children if a touch event is not within view groups bounds * Add test for SentryFileOutputStream * Fix test * Fix test * Changelog * pr id * Fix api dump * Fix BroadcastReceivers (#4052) * Drop TempSesnorBreadcrumbIntegration * Drop PhoneStateBreadcrumbsIntegration * Reduce number of system events we're listening to and use RECEIVER_NOT_EXPORTED * Format code * Changelog * Update CHANGELOG.md Co-authored-by: Stefano <[email protected]> * Update CHANGELOG.md Co-authored-by: Stefano <[email protected]> --------- Co-authored-by: Sentry Github Bot <[email protected]> Co-authored-by: Stefano <[email protected]> * Only provide {{auto}} ip-address if sendDefaultPii is enabled * Update changelog * Reduce the number of IPC calls (#4058) * Remove binder call for external storage * Remove binder call for memory in profiler * Cache static values to avoid binder calls * Comment * Changelog * Formatting * Fix tests * Minor fixes * change protected method in final class to private --------- Co-authored-by: Markus Hintersteiner <[email protected]> Co-authored-by: stefanosiano <[email protected]> * Update Changelog * Fix tests --------- Co-authored-by: Roman Zavarnitsyn <[email protected]> Co-authored-by: Sentry Github Bot <[email protected]> Co-authored-by: Stefano <[email protected]>
📜 Description
Before (Binder calls on the main thread)
After (Binder calls on the main thread)
💡 Motivation and Context
Finding Binder calls with trace-ipc and trying to reduce them to prevent main thread blockage potentially and other problems.
💚 How did you test it?
Manually + automated
📝 Checklist
sendDefaultPIIis enabled.Next steps
There's still one standing out binder call left around checking network connectivity but this will do in a follow-up PR