@@ -3,14 +3,14 @@ import {
33 CompositeStatsParser ,
44 DetectIssuesPayload ,
55 EventType ,
6+ INetworkScoresCalculator ,
67 IssueDetector ,
78 IssuePayload ,
8- INetworkScoresCalculator ,
9+ Logger ,
910 StatsReportItem ,
1011 WebRTCIssueDetectorConstructorParams ,
1112 WebRTCStatsParsed ,
1213 WIDWindow ,
13- Logger ,
1414} from './types' ;
1515import PeriodicWebRTCStatsReporter from './parser/PeriodicWebRTCStatsReporter' ;
1616import DefaultNetworkScoresCalculator from './NetworkScoresCalculator' ;
@@ -21,7 +21,8 @@ import {
2121 InboundNetworkIssueDetector ,
2222 NetworkMediaSyncIssueDetector ,
2323 OutboundNetworkIssueDetector ,
24- QualityLimitationsIssueDetector , VideoCodecMismatchDetector ,
24+ QualityLimitationsIssueDetector ,
25+ VideoCodecMismatchDetector ,
2526} from './detectors' ;
2627import { CompositeRTCStatsParser , RTCStatsParser } from './parser' ;
2728import createLogger from './utils/logger' ;
@@ -84,13 +85,24 @@ class WebRTCIssueDetector {
8485
8586 this . calculateNetworkScores ( report . stats ) ;
8687 } ) ;
88+
89+ this . statsReporter . on ( PeriodicWebRTCStatsReporter . STATS_REPORTS_PARSED , ( data : { timeTaken : number } ) => {
90+ const payload = {
91+ timeTaken : data . timeTaken ,
92+ ts : Date . now ( ) ,
93+ } ;
94+
95+ this . eventEmitter . emit ( EventType . StatsParsingFinished , payload ) ;
96+ } ) ;
8797 }
8898
8999 public watchNewPeerConnections ( ) : void {
90100 if ( this . #running) {
91101 throw new Error ( 'WebRTCIssueDetector is already started' ) ;
92102 }
93103
104+ this . logger . info ( 'Start watching peer connections' ) ;
105+
94106 this . #running = true ;
95107 this . statsReporter . startReporting ( ) ;
96108 }
@@ -100,6 +112,8 @@ class WebRTCIssueDetector {
100112 throw new Error ( 'WebRTCIssueDetector is already stopped' ) ;
101113 }
102114
115+ this . logger . info ( 'Stop watching peer connections' ) ;
116+
103117 this . #running = false ;
104118 this . statsReporter . stopReporting ( ) ;
105119 }
@@ -143,6 +157,7 @@ class WebRTCIssueDetector {
143157
144158 private wrapRTCPeerConnection ( ) : void {
145159 if ( ! window . RTCPeerConnection ) {
160+ this . logger . warn ( 'No RTCPeerConnection found in browser window. Skipping' ) ;
146161 return ;
147162 }
148163
0 commit comments