Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goal
Reduce the likelihood of app hang events containing breadcrumbs and app & device information that occurred after the detection of the hang.
App hang events could contain breadcrumbs that were left after the detection of the hang due to the amount of time it takes to record the stack traces (and notably perform symbolication prior to v6.9.4)
Changeset
The app hang detector now records the timestamp and system info as soon as the hang is detected, and breadcrumbs are subsequently filtered to remove any that were left while the app hang detector was performing its work.
bsg_ksmachisBeingTraced()
is now checked beforeapplicationIsInForeground
since the former involvessysctl()
and is much slower - now there is less opportunity for the foreground state to change between the check and event creation.Testing
New unit test case to cover filtering of breadcrumbs.
App hang E2E test now verifies that a breadcrumb left during the hang is still included.