-
-
Notifications
You must be signed in to change notification settings - Fork 450
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
Improve ANRv2 implementation based on customer feedback #2792
Conversation
Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
496bdfd | 301.22 ms | 343.96 ms | 42.73 ms |
8820c5c | 330.60 ms | 416.86 ms | 86.26 ms |
9246ed4 | 281.79 ms | 352.08 ms | 70.29 ms |
496bdfd | 272.86 ms | 407.33 ms | 134.48 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
496bdfd | 1.72 MiB | 2.28 MiB | 571.82 KiB |
8820c5c | 1.72 MiB | 2.28 MiB | 571.82 KiB |
9246ed4 | 1.72 MiB | 2.28 MiB | 572.22 KiB |
496bdfd | 1.72 MiB | 2.28 MiB | 571.82 KiB |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #2792 +/- ##
=========================================
Coverage 81.14% 81.15%
- Complexity 4497 4501 +4
=========================================
Files 348 348
Lines 16677 16685 +8
Branches 2267 2268 +1
=========================================
+ Hits 13532 13540 +8
Misses 2198 2198
Partials 947 947
☔ View full report in Codecov by Sentry. |
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.
Nice improvements, LGTM!
📜 Description
The PR introduces various improvement to the existing ANRv2 implementation based on customer feedback, namely:
ApplicationNotResponding
class from obfuscation so it doesn't look ugly in the issue streamsetReportHistoricalAnrs
, when enabled it will report all of the ANRs from thegetHistoricalExitReasons
list. By default, the SDK only reports and enriches the latest ANR and only this one counts towards ANR rate. Hence, this reduces the noise quite a bit, but still leaves the possibility to get all of the ANR reports from the past. Worth noting that once the SDK has been updated to the version with the new implementation, we won't need this feature, because we'll always read the latest ANR on the next app restart. These ANRs are reported with theHistoricalAppExitInfo
mechanism for distinctionThe message looks like this:
The ANR thread dump attachment looks like this:
💡 Motivation and Context
💚 How did you test it?
Manually and automated
📝 Checklist
sendDefaultPII
is enabled.🔮 Next steps