Procházet zdrojové kódy

Logs the reason for the reload

dev1
hristoterezov před 8 roky
rodič
revize
b2d1ed5d0d

+ 8
- 4
JitsiConferenceEventManager.js Zobrazit soubor

@@ -171,16 +171,20 @@ JitsiConferenceEventManager.prototype.setupChatRoomListeners = function () {
171 171
     chatRoom.addListener(XMPPEvents.FOCUS_LEFT,
172 172
         function () {
173 173
             Statistics.analytics.sendEvent('conference.focusLeft');
174
-            if(!conference.connection._reload())
174
+            if(!conference.connection._reload("focusLeft"))
175 175
                 conference.eventEmitter.emit(
176 176
                     JitsiConferenceEvents.CONFERENCE_FAILED,
177 177
                     JitsiConferenceErrors.FOCUS_LEFT);
178 178
         });
179 179
 
180
-    var reloadHandler = function () { conference.connection._reload(); };
180
+    var reloadHandler = function (reason) {
181
+        conference.connection._reload(reason);
182
+    };
181 183
     chatRoom.addListener(
182
-        XMPPEvents.ALLOCATE_FOCUS_MAX_RETRIES_ERROR, reloadHandler);
183
-    chatRoom.addListener(XMPPEvents.SESSION_ACCEPT_TIMEOUT, reloadHandler);
184
+        XMPPEvents.ALLOCATE_FOCUS_MAX_RETRIES_ERROR,
185
+        reloadHandler.bind(null, "allocateFocusMaxRetries"));
186
+    chatRoom.addListener(XMPPEvents.SESSION_ACCEPT_TIMEOUT,
187
+        reloadHandler.bind(null, "sessionAcceptTimeout"));
184 188
 
185 189
     this.chatRoomForwarder.forward(XMPPEvents.CONNECTION_INTERRUPTED,
186 190
         JitsiConferenceEvents.CONNECTION_INTERRUPTED);

+ 5
- 3
JitsiConnection.js Zobrazit soubor

@@ -29,8 +29,9 @@ function JitsiConnection(appID, token, options) {
29 29
             Statistics.analytics.sendEvent('connection.failed.' + errType);
30 30
             if(errType === JitsiConnectionErrors.OTHER_ERROR &&
31 31
                 (msg === "item-not-found" || msg === "host-unknown")) {
32
+                    var reason = "connectionError." + msg.replace(/-/g,"_");
32 33
                     // FIXME: don't report the error if we are going to reload
33
-                    this._reload();
34
+                    this._reload(reason);
34 35
                 }
35 36
         }.bind(this));
36 37
 
@@ -70,11 +71,12 @@ JitsiConnection.prototype.attach = function (options) {
70 71
 
71 72
 /**
72 73
  * Reloads the JitsiConnection instance and all related conferences
74
+ * @param reason {String} the reason for the reload.
73 75
  */
74
-JitsiConnection.prototype._reload = function () {
76
+JitsiConnection.prototype._reload = function (reason) {
75 77
     if(this.retryOnFail === 0)
76 78
         return false;
77
-    Statistics.analytics.sendEvent('connection.reload');
79
+    Statistics.sendReloadEvent(reason);
78 80
     this.retryOnFail--;
79 81
     var states = {};
80 82
     for(var name in this.conferences) {

+ 10
- 0
modules/statistics/statistics.js Zobrazit soubor

@@ -489,4 +489,14 @@ Statistics.reportGlobalError = function (error) {
489 489
     }
490 490
 };
491 491
 
492
+/**
493
+ * Reports reloads.
494
+ * @param reason {string} the reason for the reload.
495
+ */
496
+Statistics.sendReloadEvent = function (reason) {
497
+    var eventName = 'connection.reload' + (reason? "." + reason : "");
498
+    this.analytics.sendEvent(eventName);
499
+    Statistics.sendLog("connection.reload. Reason: " + reason);
500
+}
501
+
492 502
 module.exports = Statistics;

Načítá se…
Zrušit
Uložit