Add channel id to call events

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
Joseph T. Lyons 2023-08-21 13:50:04 -04:00
parent bbe6d3b261
commit f66e6863fa
3 changed files with 26 additions and 4 deletions

View file

@ -274,7 +274,7 @@ impl ActiveCall {
.borrow_mut() .borrow_mut()
.take() .take()
.ok_or_else(|| anyhow!("no incoming call"))?; .ok_or_else(|| anyhow!("no incoming call"))?;
Self::report_call_event_for_room("decline incoming", call.room_id, &self.client, cx); Self::report_call_event_for_room("decline incoming", call.room_id, None, &self.client, cx);
self.client.send(proto::DeclineCall { self.client.send(proto::DeclineCall {
room_id: call.room_id, room_id: call.room_id,
})?; })?;
@ -406,19 +406,31 @@ impl ActiveCall {
fn report_call_event(&self, operation: &'static str, cx: &AppContext) { fn report_call_event(&self, operation: &'static str, cx: &AppContext) {
if let Some(room) = self.room() { if let Some(room) = self.room() {
Self::report_call_event_for_room(operation, room.read(cx).id(), &self.client, cx) let room = room.read(cx);
Self::report_call_event_for_room(
operation,
room.id(),
room.channel_id(),
&self.client,
cx,
)
} }
} }
pub fn report_call_event_for_room( pub fn report_call_event_for_room(
operation: &'static str, operation: &'static str,
room_id: u64, room_id: u64,
channel_id: Option<u64>,
client: &Arc<Client>, client: &Arc<Client>,
cx: &AppContext, cx: &AppContext,
) { ) {
let telemetry = client.telemetry(); let telemetry = client.telemetry();
let telemetry_settings = *settings::get::<TelemetrySettings>(cx); let telemetry_settings = *settings::get::<TelemetrySettings>(cx);
let event = ClickhouseEvent::Call { operation, room_id }; let event = ClickhouseEvent::Call {
operation,
room_id,
channel_id,
};
telemetry.report_clickhouse_event(event, telemetry_settings); telemetry.report_clickhouse_event(event, telemetry_settings);
} }
} }

View file

@ -74,6 +74,7 @@ pub enum ClickhouseEvent {
Call { Call {
operation: &'static str, operation: &'static str,
room_id: u64, room_id: u64,
channel_id: Option<u64>,
}, },
} }

View file

@ -49,6 +49,7 @@ pub fn toggle_screen_sharing(_: &ToggleScreenSharing, cx: &mut AppContext) {
ActiveCall::report_call_event_for_room( ActiveCall::report_call_event_for_room(
"disable screen share", "disable screen share",
room.id(), room.id(),
room.channel_id(),
&client, &client,
cx, cx,
); );
@ -57,6 +58,7 @@ pub fn toggle_screen_sharing(_: &ToggleScreenSharing, cx: &mut AppContext) {
ActiveCall::report_call_event_for_room( ActiveCall::report_call_event_for_room(
"enable screen share", "enable screen share",
room.id(), room.id(),
room.channel_id(),
&client, &client,
cx, cx,
); );
@ -73,11 +75,18 @@ pub fn toggle_mute(_: &ToggleMute, cx: &mut AppContext) {
let client = call.client(); let client = call.client();
room.update(cx, |room, cx| { room.update(cx, |room, cx| {
if room.is_muted(cx) { if room.is_muted(cx) {
ActiveCall::report_call_event_for_room("enable microphone", room.id(), &client, cx); ActiveCall::report_call_event_for_room(
"enable microphone",
room.id(),
room.channel_id(),
&client,
cx,
);
} else { } else {
ActiveCall::report_call_event_for_room( ActiveCall::report_call_event_for_room(
"disable microphone", "disable microphone",
room.id(), room.id(),
room.channel_id(),
&client, &client,
cx, cx,
); );