-
-
Notifications
You must be signed in to change notification settings - Fork 435
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
Mark previous session as abnormal if an ANR (ANRv2) has happened #2621
Conversation
|
Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
9c65254 | 282.94 ms | 305.16 ms | 22.23 ms |
ccf0128 | 269.76 ms | 345.94 ms | 76.18 ms |
b59af9b | 293.20 ms | 342.63 ms | 49.43 ms |
9355125 | 348.80 ms | 440.19 ms | 91.40 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
9c65254 | 1.73 MiB | 2.27 MiB | 556.58 KiB |
ccf0128 | 1.73 MiB | 2.27 MiB | 557.09 KiB |
b59af9b | 1.73 MiB | 2.27 MiB | 557.08 KiB |
9355125 | 1.73 MiB | 2.27 MiB | 557.07 KiB |
…entry-java into feat/anr-v2-session-abnormal
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## feat/anr-v2 #2621 +/- ##
=================================================
+ Coverage 80.28% 81.03% +0.74%
- Complexity 3990 4354 +364
=================================================
Files 327 344 +17
Lines 15017 16085 +1068
Branches 1977 2166 +189
=================================================
+ Hits 12057 13035 +978
+ Misses 2183 2151 -32
- Partials 777 899 +122
... and 4 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ 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.
Looking good! I left a few comments, mainly for better understanding the whole mechanism.
#skip-changelog
📜 Description
previous_session.json
file and let others handle itNote, that there's also a new lock introduced
waitPreviousSessionFlush
, which is necessary due to async nature of how we start a new session (SentryAndroid.init) and how we process ANRs/how we finish unfinished session (on a background thread). So the PreviousSessionFinalizer and AnrV2Integration will wait until the new session is started, which will, in turn, flush the unfinished session from a previous app run intoprevious_session.json
file and release the lock.💡 Motivation and Context
Q1 Goal
💚 How did you test it?
Manually and automated
📝 Checklist
sendDefaultPII
is enabled.🔮 Next steps