Add metrics_id to editor_events (#13525)

Joseph T. Lyons created

Release Notes:

- N/A

Change summary

crates/client/src/telemetry.rs                  | 1 +
crates/collab/src/api/events.rs                 | 2 ++
crates/telemetry_events/src/telemetry_events.rs | 1 +
3 files changed, 4 insertions(+)

Detailed changes

crates/client/src/telemetry.rs 🔗

@@ -611,6 +611,7 @@ impl Telemetry {
 
                         let request_body = EventRequestBody {
                             installation_id: state.installation_id.as_deref().map(Into::into),
+                            metrics_id: state.metrics_id.as_deref().map(Into::into),
                             session_id: state.session_id.clone(),
                             is_staff: state.is_staff,
                             app_version: state.app_version.clone(),

crates/collab/src/api/events.rs 🔗

@@ -664,6 +664,7 @@ where
 #[derive(Serialize, Debug, clickhouse::Row)]
 pub struct EditorEventRow {
     installation_id: String,
+    metrics_id: String,
     operation: String,
     app_version: String,
     file_extension: String,
@@ -713,6 +714,7 @@ impl EditorEventRow {
             os_version: body.os_version.clone().unwrap_or_default(),
             architecture: body.architecture.clone(),
             installation_id: body.installation_id.clone().unwrap_or_default(),
+            metrics_id: body.metrics_id.clone().unwrap_or_default(),
             session_id: body.session_id.clone(),
             is_staff: body.is_staff,
             time: time.timestamp_millis(),

crates/telemetry_events/src/telemetry_events.rs 🔗

@@ -5,6 +5,7 @@ use std::{fmt::Display, sync::Arc, time::Duration};
 #[derive(Serialize, Deserialize, Debug)]
 pub struct EventRequestBody {
     pub installation_id: Option<String>,
+    pub metrics_id: Option<String>,
     pub session_id: Option<String>,
     pub is_staff: Option<bool>,
     pub app_version: String,