Change summary
crates/client/src/telemetry.rs | 24 +++++++++++++++++-------
crates/zed/src/main.rs | 1 -
2 files changed, 17 insertions(+), 8 deletions(-)
Detailed changes
@@ -157,13 +157,16 @@ impl Telemetry {
self.executor
.spawn(
async move {
- let device_id = if let Ok(Some(device_id)) = db.read_kvp("device_id") {
- device_id
- } else {
- let device_id = Uuid::new_v4().to_string();
- db.write_kvp("device_id", &device_id)?;
- device_id
- };
+ let (device_id, is_first_time_start) =
+ if let Ok(Some(device_id)) = db.read_kvp("device_id") {
+ (device_id, false)
+ } else {
+ let device_id = Uuid::new_v4().to_string();
+ db.write_kvp("device_id", &device_id)?;
+ (device_id, true)
+ };
+
+ this.report_start_app(is_first_time_start);
let device_id: Arc<str> = device_id.into();
let mut state = this.state.lock();
@@ -260,6 +263,13 @@ impl Telemetry {
}
}
+ pub fn report_start_app(self: &Arc<Self>, is_first_time_start: bool) {
+ self.report_event(
+ "Start App",
+ json!({ "is_first_time_start": is_first_time_start }),
+ )
+ }
+
fn flush(self: &Arc<Self>) {
let mut state = self.state.lock();
let mut events = mem::take(&mut state.queue);
@@ -150,7 +150,6 @@ fn main() {
let project_store = cx.add_model(|_| ProjectStore::new());
let db = cx.background().block(db);
client.start_telemetry(db.clone());
- client.report_event("start app", Default::default());
let app_state = Arc::new(AppState {
languages,