parent
3da1902e24
commit
77bf2ad0f1
5 changed files with 17 additions and 7 deletions
|
@ -458,7 +458,7 @@ impl Telemetry {
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn log_edit_event(self: &Arc<Self>, environment: &'static str) {
|
pub fn log_edit_event(self: &Arc<Self>, environment: &'static str, is_via_ssh: bool) {
|
||||||
let mut state = self.state.lock();
|
let mut state = self.state.lock();
|
||||||
let period_data = state.event_coalescer.log_event(environment);
|
let period_data = state.event_coalescer.log_event(environment);
|
||||||
drop(state);
|
drop(state);
|
||||||
|
@ -467,6 +467,7 @@ impl Telemetry {
|
||||||
let event = Event::Edit(EditEvent {
|
let event = Event::Edit(EditEvent {
|
||||||
duration: end.timestamp_millis() - start.timestamp_millis(),
|
duration: end.timestamp_millis() - start.timestamp_millis(),
|
||||||
environment: environment.to_string(),
|
environment: environment.to_string(),
|
||||||
|
is_via_ssh,
|
||||||
});
|
});
|
||||||
|
|
||||||
self.report_event(event);
|
self.report_event(event);
|
||||||
|
|
|
@ -1263,6 +1263,7 @@ pub struct EditEventRow {
|
||||||
period_start: i64,
|
period_start: i64,
|
||||||
period_end: i64,
|
period_end: i64,
|
||||||
environment: String,
|
environment: String,
|
||||||
|
is_via_ssh: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EditEventRow {
|
impl EditEventRow {
|
||||||
|
@ -1296,6 +1297,7 @@ impl EditEventRow {
|
||||||
period_start: period_start.timestamp_millis(),
|
period_start: period_start.timestamp_millis(),
|
||||||
period_end: period_end.timestamp_millis(),
|
period_end: period_end.timestamp_millis(),
|
||||||
environment: event.environment,
|
environment: event.environment,
|
||||||
|
is_via_ssh: event.is_via_ssh,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12146,9 +12146,14 @@ impl Editor {
|
||||||
}
|
}
|
||||||
|
|
||||||
let Some(project) = &self.project else { return };
|
let Some(project) = &self.project else { return };
|
||||||
let telemetry = project.read(cx).client().telemetry().clone();
|
let (telemetry, is_via_ssh) = {
|
||||||
|
let project = project.read(cx);
|
||||||
|
let telemetry = project.client().telemetry().clone();
|
||||||
|
let is_via_ssh = project.is_via_ssh();
|
||||||
|
(telemetry, is_via_ssh)
|
||||||
|
};
|
||||||
refresh_linked_ranges(self, cx);
|
refresh_linked_ranges(self, cx);
|
||||||
telemetry.log_edit_event("editor");
|
telemetry.log_edit_event("editor", is_via_ssh);
|
||||||
}
|
}
|
||||||
multi_buffer::Event::ExcerptsAdded {
|
multi_buffer::Event::ExcerptsAdded {
|
||||||
buffer,
|
buffer,
|
||||||
|
|
|
@ -116,7 +116,7 @@ pub struct EditorEvent {
|
||||||
pub copilot_enabled: bool,
|
pub copilot_enabled: bool,
|
||||||
/// Whether the user has copilot enabled for the language of the file opened or saved
|
/// Whether the user has copilot enabled for the language of the file opened or saved
|
||||||
pub copilot_enabled_for_language: bool,
|
pub copilot_enabled_for_language: bool,
|
||||||
/// Whether the client is editing a local file or a remote file via SSH
|
/// Whether the client is opening/saving a local file or a remote file via SSH
|
||||||
pub is_via_ssh: bool,
|
pub is_via_ssh: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,6 +174,8 @@ pub struct ActionEvent {
|
||||||
pub struct EditEvent {
|
pub struct EditEvent {
|
||||||
pub duration: i64,
|
pub duration: i64,
|
||||||
pub environment: String,
|
pub environment: String,
|
||||||
|
/// Whether the edits occurred locally or remotely via SSH
|
||||||
|
pub is_via_ssh: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
|
|
|
@ -1019,9 +1019,9 @@ impl InputHandler for TerminalInputHandler {
|
||||||
self.workspace
|
self.workspace
|
||||||
.update(cx, |this, cx| {
|
.update(cx, |this, cx| {
|
||||||
cx.invalidate_character_coordinates();
|
cx.invalidate_character_coordinates();
|
||||||
|
let project = this.project().read(cx);
|
||||||
let telemetry = this.project().read(cx).client().telemetry().clone();
|
let telemetry = project.client().telemetry().clone();
|
||||||
telemetry.log_edit_event("terminal");
|
telemetry.log_edit_event("terminal", project.is_via_ssh());
|
||||||
})
|
})
|
||||||
.ok();
|
.ok();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue