✨ [RUM-14260] add native crash reporting#37
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8269e76c1a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
fdad02c to
a940a93
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a940a932d1
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: be5c265f30
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
- Add WASM bindings on top of rust-minidump - Expose a processMinidump function - Inline the binary as base64 to avoid distributing it
- add RawRumError crash properties - move ErrorCollection to rum/error
- using electron crashReporter - .dmp file scanning and sequential processing at app startup - create a RUM error for each .dmp file
- add crash IPC handler to E2E app - extract launchAppManually helper from fixtures - add crash() method to AppPage - add crash.scenario.ts with two-phase crash-restart-verify test
- be sure to use crash time as error event date - be sure to monitor crash processing error, to understand how it goes on the wild - add a note about performance analysis
It should be safer for a first step
- avoid regex search/replace on generated code - Wasm module initialized only when reports need to be processed
Motivation
Enable native crash reporting in the electron-sdk by processing minidump files from Electron's crashReporter and emitting RUM error events with full thread/stack/module information.
Changes
minidump-processor/WASM crate (Rust, using upstreamrust-minidumppinned to pre-regression commit) with TypeScript wrapper atsrc/wasm/CrashCollectioninsrc/domain/rum/error/— scans crash dumps on startup, processes minidumps, transforms to RUM error events withis_crash: true, thread info, binary images, and stack tracesstartTimefrom dump file birthtime (Assembly hooks handle session/view context)rum-events-formatsubmodule and regenerate event typesErrorCollectionintoerror/subdirectory alongsideCrashCollectionTest instructions
Checklist