瀏覽代碼

initial tracking infrastructure

j8
Philipp Hancke 11 年之前
父節點
當前提交
dacafdeb8a
共有 3 個文件被更改,包括 35 次插入0 次删除
  1. 33
    0
      app.js
  2. 1
    0
      index.html
  3. 1
    0
      libs/colibri/colibri.focus.js

+ 33
- 0
app.js 查看文件

@@ -575,6 +575,39 @@ $(document).bind('setLocalDescription.jingle', function (event, sid) {
575 575
     }
576 576
 });
577 577
 
578
+$(document).bind('iceconnectionstatechange.jingle', function (event, sid, session) {
579
+    switch (session.peerconnection.iceConnectionState) {
580
+    case 'checking': 
581
+        session.timeChecking = (new Date()).getTime();
582
+        session.firstconnect = true;
583
+        break;
584
+    case 'completed': // on caller side
585
+    case 'connected':
586
+        if (session.firstconnect) {
587
+            session.firstconnect = false;
588
+            var metadata = {};
589
+            metadata.setupTime = (new Date()).getTime() - session.timeChecking;
590
+            session.peerconnection.getStats(function (res) {
591
+                res.result().forEach(function (report) {
592
+                    if (report.type == 'googCandidatePair' && report.stat('googActiveConnection') == 'true') {
593
+                        metadata.localCandidateType = report.stat('googLocalCandidateType');
594
+                        metadata.remoteCandidateType = report.stat('googRemoteCandidateType');
595
+
596
+                        // log pair as well so we can get nice pie charts 
597
+                        metadata.candidatePair = report.stat('googLocalCandidateType') + ';' + report.stat('googRemoteCandidateType');
598
+
599
+                        if (report.stat('googRemoteAddress').indexOf('[') === 0) {
600
+                            metadata.ipv6 = true;
601
+                        }
602
+                    }
603
+                });
604
+                trackUsage('iceConnected', metadata);
605
+            });
606
+        }
607
+        break;
608
+    }
609
+});
610
+
578 611
 $(document).bind('joined.muc', function (event, jid, info) {
579 612
     updateRoomUrl(window.location.href);
580 613
     document.getElementById('localNick').appendChild(

+ 1
- 0
index.html 查看文件

@@ -47,6 +47,7 @@
47 47
     <script src="audio_levels.js?v=1"></script><!-- audio levels plugin -->
48 48
     <script src="media_stream.js?v=1"></script><!-- media stream -->
49 49
     <script src="bottom_toolbar.js?v=1"></script><!-- media stream -->
50
+    <script src="tracking.js?v=1"></script><!-- tracking -->
50 51
     <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
51 52
     <link rel="stylesheet" href="css/font.css?v=3"/>
52 53
     <link rel="stylesheet" type="text/css" media="screen" href="css/main.css?v=23"/>

+ 1
- 0
libs/colibri/colibri.focus.js 查看文件

@@ -125,6 +125,7 @@ ColibriFocus.prototype.makeConference = function (peers) {
125 125
             window.setTimeout(function() { self.modifySources(); }, 1000);
126 126
         }
127 127
         */
128
+        $(document).trigger('iceconnectionstatechange.jingle', [self.sid, self]);
128 129
     };
129 130
     this.peerconnection.onsignalingstatechange = function (event) {
130 131
         console.warn(self.peerconnection.signalingState);

Loading…
取消
儲存