From 06c636311d8b540f18c16d3fab90bc8710343b04 Mon Sep 17 00:00:00 2001 From: damencho Date: Wed, 3 Aug 2016 11:08:23 -0500 Subject: [PATCH] Adds analytics event and console log for TTFM (time to first media). --- conference.js | 6 ++++++ modules/UI/videolayout/SmallVideo.js | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/conference.js b/conference.js index c9304b6b3..d50c669e0 100644 --- a/conference.js +++ b/conference.js @@ -628,6 +628,12 @@ export default { sendFeedback (overallFeedback, detailedFeedback) { return room.sendFeedback (overallFeedback, detailedFeedback); }, + /** + * Returns the connection times stored in the library. + */ + getConnectionTimes () { + return this._room.getConnectionTimes(); + }, // used by torture currently isJoined () { return this._room diff --git a/modules/UI/videolayout/SmallVideo.js b/modules/UI/videolayout/SmallVideo.js index 801b90b52..929967a48 100644 --- a/modules/UI/videolayout/SmallVideo.js +++ b/modules/UI/videolayout/SmallVideo.js @@ -167,6 +167,12 @@ SmallVideo.createStreamElement = function (stream) { console.log("(TIME) Render " + type + ":\t", now); AnalyticsAdapter.sendEvent('render.' + type, now); + + var ttfm = now - APP.connectionTimes["document.ready"] + - (APP.conference.getConnectionTimes()["session.initiate"] + - APP.conference.getConnectionTimes()["muc.joined"]); + console.log("(TIME) TTFM " + type + ":\t", ttfm); + AnalyticsAdapter.sendEvent('ttfm.' + type, ttfm); }; return element; };