Skip to content
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

synthesise anr reports #2116

Open
wants to merge 17 commits into
base: next
Choose a base branch
from

Conversation

YYChen01988
Copy link
Contributor

Goal

Generate new events when the system has recorded an ANR ApplicationExitInfo that does not have a matching Event file.

Changeset

synthesised unmatched anr reports through callback

Testing

introducing new tests and manual test

YYChen01988 and others added 11 commits September 11, 2024 09:36
* Buildkite analytics trial

* Integrate all jobs with Test Analytics
[full ci]

* Only capture test analytic data on next and master

* Correct escape character
[full ci]

* Skip empty buildkite jobs

* fix(startup): flexible timeout for EventStore.flushOnLaunch toa void startup ANRs in apps with slow startups

* fix(startup): log clear message when launch crashes will be sent asynchronously

* fix(launch): change the launch timeout calculation for synchronous delivery to handle cases where the app start has completed before Bugsnag.start is called

* fix(breadcrumb): work around NPEs from `Intent.getExtras` in ActivityBreadcrumbCollector

---------

Co-authored-by: Steve Kirkland-Walton <[email protected]>
Co-authored-by: Steve Kirkland <[email protected]>
Co-authored-by: jason <[email protected]>
* feat(ExitInfo): ExitInfo setOnEventStoreEmptyCallback

* feat(ExitInfo): ExitInfo setOnEventStoreEmptyCallback

* refactor(EventStore): reworked the EventStore callback to only be called once, and only when the store is completely empty (no files in queue or in storage)

* feat(ExitInfo): Track exitinfokey with event

* feat(ExitInfo): ExitInfo setOnEventStoreEmptyCallback

---------

Co-authored-by: jason <[email protected]>
* feat(ExitInfo): ExitInfo setOnEventStoreEmptyCallback

* feat(ExitInfo): ExitInfo setOnEventStoreEmptyCallback

* feat(ExitInfo): Track exitinfokey with event

* feat(ExitInfo):new event with Anr exitInfo

* refactor(EventStore): reworked the EventStore callback to only be called once, and only when the store is completely empty (no files in queue or in storage)

* feat(ExitInfo):new event with Anr exitInfo

* feat(ExitInfo): ExitInfo setOnEventStoreEmptyCallback

* refactor(EventStore): reworked the EventStore callback to only be called once, and only when the store is completely empty (no files in queue or in storage)

* refactor(EventStore): reworked the EventStore callback to only be called once, and only when the store is completely empty (no files in queue or in storage)

* feat(ExitInfo): ExitInfo setOnEventStoreEmptyCallback

* feat(ExitInfo):new event with Anr exitInfo

* feat(ExitInfo):register EventStoreEmptyCallback in exitinfo plugin

* feat(ExitInfo)synthesize native crash reports

* feat(ExitInfo)add exit infos at first run

---------

Co-authored-by: jason <[email protected]>
…tive-crash-reports

# Conflicts:
#	.buildkite/pipeline.full.yml
#	.buildkite/pipeline.yml
#	bugsnag-android-core/detekt-baseline.xml
#	bugsnag-android-core/src/main/java/com/bugsnag/android/FileStore.kt
* feat(ExitInfo)removed disable config options for synthesising reports

* feat(OpenSSF) improve Pinned-Dependencies and Token-Permissions scores (#2103)

* feat(ExitInfo)added DiscardEventCallback

* test(mazerunner): include the mapping.txt file in the published end2end artifacts to aid test debugging

* Add signing workflow (#2109)

* feat(exitinfo): remove the unmatched native crash reporting and turn off the unmatched ANR handling by default to avoid unexpected behaviour in upgrades

* chore(exitinfo): cleanup consts making more use of MATCH_ALL and MAX_EXIT_INFO

* test(fixture): only copy mapping.txt of the test fixture if it exists

---------

Co-authored-by: jason <[email protected]>
Co-authored-by: Alex Moinet <[email protected]>
* feat(OpenSSF) improve Pinned-Dependencies and Token-Permissions scores (#2103)

* test(mazerunner): include the mapping.txt file in the published end2end artifacts to aid test debugging

* Add signing workflow (#2109)

* chore(build): replaced the buildSrc plugin with a simplified Versions object and moved the build structure down into the individual modules

* chore(build): update CodeQL to use custom build script

* test(startup): remove flaky MultiThreadedStartupScenario - it cannot be made reliable and no amount of retries will stop the flakes

---------

Co-authored-by: jason <[email protected]>
Co-authored-by: Alex Moinet <[email protected]>
@YYChen01988 YYChen01988 requested a review from lemnik December 4, 2024 11:16
@bugsnagbot
Copy link
Collaborator

bugsnagbot commented Dec 4, 2024

Android notifier sizes

Format Size impact of Bugsnag (kB) Size impact of Bugsnag when Minified (kB)
APK 1872.43 1675.93
arm64_v8a 651.52 450.82
armeabi_v7a 585.99 385.29
x86 725.23 528.62
x86_64 696.57 495.86

Generated by 🚫 Danger

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants