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

Improve crash reporting integration #9892

Merged
merged 4 commits into from
Aug 5, 2024
Merged

Conversation

yamadapc
Copy link
Contributor

@yamadapc yamadapc commented Aug 2, 2024

All of these changes are specific to canary builds and opt-in. They're meant to track internal reliability of parcel at Atlassian


We lack visibility on native crashes coming from parcel, but reports of crashes are frequent.

This commit makes the following changes to error monitoring integration:

  • Tracing is set-up for every build not just v3 builds. This is so we can get visibility on the mainline rust code. This is disabled by default.
  • Tracing/Sentry code are moved to a new crate
  • Crash reporting integration is added with minidumper, to allow us to get more information about crashes.

minidumper is picked rather than the sentry-native SDK because providing the SDK for all supported parcel architectures is not something we'd like to maintain.

Previously written Rust / build wrappers for that SDK (which is a C dependency) have been deprecated in favour of this approach. https://github.com/daxpedda/sentry-contrib-native.

This commit makes the following changes to error monitoring integration:

* Tracing is set-up for every build not just v3 builds. This is so we
  can get visibility on the mainline rust code. This is disabled by
  default.
* Tracing/Sentry code are moved to a new crate
* Crash reporting integration is added with `minidumper`, to allow us to
  get more information about crashes.
@yamadapc yamadapc requested a review from a team August 2, 2024 04:42
[`minidumper`](https://github.com/EmbarkStudios/crash-handling/tree/main/minidumper) library. The server should write
and report the crash.

A default server implementation is not provided, but an example can be seen on `examples/sample_usage.rs`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can it be run? Instructions?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it can be ran with cargo run --example sample_usage ;

@yamadapc yamadapc merged commit de50e27 into v2 Aug 5, 2024
23 checks passed
@yamadapc yamadapc deleted the pyamada/add-minidumper-integration branch August 5, 2024 00:04
@yamadapc yamadapc mentioned this pull request Aug 5, 2024
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