From 9f4a107865054f78efd6b396efdc713ef42d2c82 Mon Sep 17 00:00:00 2001 From: Timo <16718859+toger5@users.noreply.github.com> Date: Tue, 16 Apr 2024 16:21:07 +0200 Subject: [PATCH] Revert "Track connection time on posthog (#2313)" (#2315) This reverts commit 5e2b65269027510093eac9c80980634c421b088d. --- src/analytics/PosthogAnalytics.ts | 2 -- src/analytics/PosthogEvents.ts | 36 ----------------------------- src/livekit/useECConnectionState.ts | 10 -------- 3 files changed, 48 deletions(-) diff --git a/src/analytics/PosthogAnalytics.ts b/src/analytics/PosthogAnalytics.ts index cfeb1e7a..c1778f8b 100644 --- a/src/analytics/PosthogAnalytics.ts +++ b/src/analytics/PosthogAnalytics.ts @@ -31,7 +31,6 @@ import { UndecryptableToDeviceEventTracker, QualitySurveyEventTracker, CallDisconnectedEventTracker, - CallConnectDurationTracker, } from "./PosthogEvents"; import { Config } from "../config/Config"; import { getUrlParams } from "../UrlParams"; @@ -445,5 +444,4 @@ export class PosthogAnalytics { public eventUndecryptableToDevice = new UndecryptableToDeviceEventTracker(); public eventQualitySurvey = new QualitySurveyEventTracker(); public eventCallDisconnected = new CallDisconnectedEventTracker(); - public eventCallConnectDuration = new CallConnectDurationTracker(); } diff --git a/src/analytics/PosthogEvents.ts b/src/analytics/PosthogEvents.ts index 778392ba..c200f74b 100644 --- a/src/analytics/PosthogEvents.ts +++ b/src/analytics/PosthogEvents.ts @@ -15,7 +15,6 @@ limitations under the License. */ import { DisconnectReason } from "livekit-client"; -import { logger } from "matrix-js-sdk/src/logger"; import { IPosthogEvent, @@ -202,38 +201,3 @@ export class CallDisconnectedEventTracker { }); } } - -interface CallConnectDuration extends IPosthogEvent { - eventName: "CallConnectDuration"; - totalDuration: number; - websocketDuration: number; - peerConnectionDuration: number; -} - -export class CallConnectDurationTracker { - private connectStart = 0; - private websocketConnected = 0; - public cacheConnectStart(): void { - this.connectStart = Date.now(); - } - public cacheWsConnect(): void { - this.websocketConnected = Date.now(); - } - - public track(options = { log: false }): void { - const now = Date.now(); - const totalDuration = now - this.connectStart; - const websocketDuration = this.websocketConnected - this.connectStart; - const peerConnectionDuration = now - this.websocketConnected; - PosthogAnalytics.instance.trackEvent({ - eventName: "CallConnectDuration", - totalDuration, - websocketDuration, - peerConnectionDuration, - }); - if (options.log) - logger.log( - `Time to connect:\ntotal: ${totalDuration}ms\npeerConnection: ${websocketDuration}ms\nwebsocket: ${peerConnectionDuration}ms`, - ); - } -} diff --git a/src/livekit/useECConnectionState.ts b/src/livekit/useECConnectionState.ts index 11eec39a..e874fca1 100644 --- a/src/livekit/useECConnectionState.ts +++ b/src/livekit/useECConnectionState.ts @@ -27,7 +27,6 @@ import { logger } from "matrix-js-sdk/src/logger"; import * as Sentry from "@sentry/react"; import { SFUConfig, sfuConfigEquals } from "./openIDSFU"; -import { PosthogAnalytics } from "../analytics/PosthogAnalytics"; declare global { interface Window { @@ -132,11 +131,6 @@ async function connectAndPublish( micTrack: LocalTrack | undefined, screenshareTracks: MediaStreamTrack[], ): Promise { - const tracker = PosthogAnalytics.instance.eventCallConnectDuration; - // Track call connect duration - tracker.cacheConnectStart(); - livekitRoom.once(RoomEvent.SignalConnected, () => tracker.cacheWsConnect()); - await livekitRoom!.connect(sfuConfig!.url, sfuConfig!.jwt, { // Due to stability issues on Firefox we are testing the effect of different // timeouts, and allow these values to be set through the console @@ -144,10 +138,6 @@ async function connectAndPublish( websocketTimeout: window.websocketTimeout ?? 45000, }); - // remove listener in case the connect promise rejects before `SignalConnected` is emitted. - livekitRoom.off(RoomEvent.SignalConnected, tracker.cacheWsConnect); - tracker.track({ log: true }); - if (micTrack) { logger.info(`Publishing precreated mic track`); await livekitRoom.localParticipant.publishTrack(micTrack, {