Add minidump crash reporting (#35263)
- [x] Handle uploading minidumps from the remote_server - [x] Associate minidumps with panics with some sort of ID (we don't use session_id on the remote) - [x] Update the protobufs and client/server code to request panics - [x] Upload minidumps with no corresponding panic - [x] Fill in panic info when there _is_ a corresponding panic - [x] Use an env var for the sentry endpoint instead of hardcoding it Release Notes: - Zed now generates minidumps for crash reporting --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
co-authored by
Max Brunsfeld
parent
07e3d53d58
commit
669c57b45f
@@ -21,7 +21,7 @@ The telemetry settings can also be configured via the welcome screen, which can
|
||||
|
||||
Telemetry is sent from the application to our servers. Data is proxied through our servers to enable us to easily switch analytics services. We currently use:
|
||||
|
||||
- [Axiom](https://axiom.co): Cloud-monitoring service - stores diagnostic events
|
||||
- [Sentry](https://sentry.io): Crash-monitoring service - stores diagnostic events
|
||||
- [Snowflake](https://snowflake.com): Data warehouse - stores both diagnostic and metric events
|
||||
- [Hex](https://www.hex.tech): Dashboards and data exploration - accesses data stored in Snowflake
|
||||
- [Amplitude](https://www.amplitude.com): Dashboards and data exploration - accesses data stored in Snowflake
|
||||
@@ -30,9 +30,9 @@ Telemetry is sent from the application to our servers. Data is proxied through o
|
||||
|
||||
### Diagnostics
|
||||
|
||||
Diagnostic events include debug information (stack traces) from crash reports. Reports are sent on the first application launch after the crash occurred. We've built dashboards that allow us to visualize the frequency and severity of issues experienced by users. Having these reports sent automatically allows us to begin implementing fixes without the user needing to file a report in our issue tracker. The plots in the dashboards also give us an informal measurement of the stability of Zed.
|
||||
Crash reports consist of a [minidump](https://learn.microsoft.com/en-us/windows/win32/debug/minidump-files) and some extra debug information. Reports are sent on the first application launch after the crash occurred. We've built dashboards that allow us to visualize the frequency and severity of issues experienced by users. Having these reports sent automatically allows us to begin implementing fixes without the user needing to file a report in our issue tracker. The plots in the dashboards also give us an informal measurement of the stability of Zed.
|
||||
|
||||
You can see what data is sent when a panic occurs by inspecting the `Panic` struct in [crates/telemetry_events/src/telemetry_events.rs](https://github.com/zed-industries/zed/blob/main/crates/telemetry_events/src/telemetry_events.rs) in the Zed repo. You can find additional information in the [Debugging Crashes](./development/debugging-crashes.md) documentation.
|
||||
You can see what extra data is sent alongside the minidump in the `Panic` struct in [crates/telemetry_events/src/telemetry_events.rs](https://github.com/zed-industries/zed/blob/main/crates/telemetry_events/src/telemetry_events.rs) in the Zed repo. You can find additional information in the [Debugging Crashes](./development/debugging-crashes.md) documentation.
|
||||
|
||||
### Client-Side Usage Data {#client-metrics}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user