Add panic events (#2552)

Adds a time field to support panic events.  See

https://github.com/zed-industries/zed.dev/pull/321

Release Notes:

- N/A
This commit is contained in:
Joseph T. Lyons 2023-06-01 16:47:29 -04:00 committed by GitHub
commit 6d24a8a763
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -41,7 +41,7 @@ use std::{
Arc, Weak, Arc, Weak,
}, },
thread, thread,
time::Duration, time::{Duration, SystemTime, UNIX_EPOCH},
}; };
use sum_tree::Bias; use sum_tree::Bias;
use terminal_view::{get_working_directory, TerminalSettings, TerminalView}; use terminal_view::{get_working_directory, TerminalSettings, TerminalView};
@ -376,6 +376,7 @@ struct Panic {
backtrace: Vec<String>, backtrace: Vec<String>,
// TODO // TODO
// stripped_backtrace: String, // stripped_backtrace: String,
time: u128,
} }
#[derive(Serialize)] #[derive(Serialize)]
@ -413,6 +414,10 @@ fn init_panic_hook(app_version: String) {
.map(|line| line.to_string()) .map(|line| line.to_string())
.collect(), .collect(),
// modified_backtrace: None, // modified_backtrace: None,
time: SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap()
.as_millis(),
}; };
if let Some(panic_data_json) = serde_json::to_string_pretty(&panic_data).log_err() { if let Some(panic_data_json) = serde_json::to_string_pretty(&panic_data).log_err() {