@observertc/observer-js 1.0.1-72a904d.0 → 1.0.1-9d3744d.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ObservedCall.d.ts +0 -3
- package/lib/ObservedCall.d.ts.map +1 -1
- package/lib/ObservedCall.js +8 -42
- package/lib/ObservedClient.d.ts +5 -7
- package/lib/ObservedClient.d.ts.map +1 -1
- package/lib/ObservedClient.js +81 -102
- package/lib/ObservedPeerConnection.d.ts.map +1 -1
- package/lib/ObservedPeerConnection.js +20 -6
- package/lib/Observer.d.ts +1 -3
- package/lib/Observer.d.ts.map +1 -1
- package/lib/Observer.js +3 -21
- package/lib/ObserverSummary.d.ts +2 -0
- package/lib/ObserverSummary.d.ts.map +1 -1
- package/lib/common/utils.d.ts +1 -0
- package/lib/common/utils.d.ts.map +1 -1
- package/lib/common/utils.js +7 -1
- package/package.json +1 -1
- package/src/ObservedCall.ts +47 -47
- package/src/ObservedClient.ts +139 -115
- package/src/ObservedPeerConnection.ts +23 -10
- package/src/Observer.ts +28 -25
- package/src/ObserverSummary.ts +3 -1
- package/src/common/utils.ts +6 -0
package/lib/ObservedCall.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import { CalculatedScore } from './scores/CalculatedScore';
|
|
|
7
7
|
import { Detectors } from './detectors/Detectors';
|
|
8
8
|
import { RemoteTrackResolver } from './utils/RemoteTrackResolver';
|
|
9
9
|
import { Updater } from './updaters/Updater';
|
|
10
|
-
import { ObservedCallSummary } from './ObservedCallSummary';
|
|
11
10
|
export type ObservedCallSettings<AppData extends Record<string, unknown> = Record<string, unknown>> = {
|
|
12
11
|
callId: string;
|
|
13
12
|
appData?: AppData;
|
|
@@ -83,7 +82,5 @@ export declare class ObservedCall<AppData extends Record<string, unknown> = Reco
|
|
|
83
82
|
private _clientLeft;
|
|
84
83
|
emitCallStartedEvent(): void;
|
|
85
84
|
emitCallEndedEvent(): void;
|
|
86
|
-
resetSummaryMetrics(): void;
|
|
87
|
-
createSummary(): ObservedCallSummary;
|
|
88
85
|
}
|
|
89
86
|
//# sourceMappingURL=ObservedCall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedCall.d.ts","sourceRoot":"","sources":["../src/ObservedCall.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ObservedCall.d.ts","sourceRoot":"","sources":["../src/ObservedCall.ts"],"names":[],"mappings":"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"}
|
package/lib/ObservedCall.js
CHANGED
|
@@ -99,6 +99,7 @@ class ObservedCall extends events_1.EventEmitter {
|
|
|
99
99
|
close() {
|
|
100
100
|
if (this.closed)
|
|
101
101
|
return;
|
|
102
|
+
this.update(); // last update before closing
|
|
102
103
|
this.closed = true;
|
|
103
104
|
this.updater?.close();
|
|
104
105
|
[...this.observedClients.values()].forEach((client) => client.close());
|
|
@@ -130,7 +131,7 @@ class ObservedCall extends events_1.EventEmitter {
|
|
|
130
131
|
if (this.observedClients.size === 0) {
|
|
131
132
|
this.emit('empty');
|
|
132
133
|
}
|
|
133
|
-
|
|
134
|
+
++this.totalRemovedClients;
|
|
134
135
|
});
|
|
135
136
|
result.on('update', onUpdate);
|
|
136
137
|
result.on('joined', joined);
|
|
@@ -156,9 +157,6 @@ class ObservedCall extends events_1.EventEmitter {
|
|
|
156
157
|
this.numberOfOutboundRtpStreams += client.numberOfOutboundRtpStreams;
|
|
157
158
|
this.numberOfPeerConnections += client.numberOfPeerConnections;
|
|
158
159
|
this.numberOfDataChannels += client.numberOfDataChannels;
|
|
159
|
-
if (client.usingTURN) {
|
|
160
|
-
this.clientsUsedTurn.add(client.clientId);
|
|
161
|
-
}
|
|
162
160
|
}
|
|
163
161
|
this.detectors.update();
|
|
164
162
|
this.scoreCalculator.update();
|
|
@@ -171,12 +169,12 @@ class ObservedCall extends events_1.EventEmitter {
|
|
|
171
169
|
}
|
|
172
170
|
_onClientUpdate(client) {
|
|
173
171
|
this.totalClientsReceivedAudioBytes += client.deltaReceivedAudioBytes;
|
|
174
|
-
this.totalClientsSentAudioBytes += client.deltaSentAudioBytes;
|
|
175
172
|
this.totalClientsReceivedVideoBytes += client.deltaReceivedVideoBytes;
|
|
176
|
-
this.totalClientsReceivedVideoBytes += client.deltaSentVideoBytes;
|
|
177
173
|
this.totalClientsReceivedDataChannelBytes += client.deltaDataChannelBytesReceived;
|
|
178
|
-
this.totalClientsSentDataChannelBytes += client.deltaDataChannelBytesSent;
|
|
179
174
|
this.totalClientsReceivedBytes += client.deltaTransportReceivedBytes;
|
|
175
|
+
this.totalClientsSentAudioBytes += client.deltaSentAudioBytes;
|
|
176
|
+
this.totalClientsSentVideoBytes += client.deltaSentVideoBytes;
|
|
177
|
+
this.totalClientsSentDataChannelBytes += client.deltaDataChannelBytesSent;
|
|
180
178
|
this.totalClientsSentBytes += client.deltaTransportSentBytes;
|
|
181
179
|
this.deltaRttLt50Measurements += client.deltaRttLt50Measurements;
|
|
182
180
|
this.deltaRttLt150Measurements += client.deltaRttLt150Measurements;
|
|
@@ -188,6 +186,9 @@ class ObservedCall extends events_1.EventEmitter {
|
|
|
188
186
|
this.totalRttGtOrEq300Measurements += client.deltaRttGtOrEq300Measurements;
|
|
189
187
|
this.deltaNumberOfIssues += client.deltaNumberOfIssues;
|
|
190
188
|
this.numberOfIssues += client.deltaNumberOfIssues;
|
|
189
|
+
if (client.usingTURN) {
|
|
190
|
+
this.clientsUsedTurn.add(client.clientId);
|
|
191
|
+
}
|
|
191
192
|
}
|
|
192
193
|
_clientJoined(client) {
|
|
193
194
|
if (!client.joinedAt)
|
|
@@ -224,40 +225,5 @@ class ObservedCall extends events_1.EventEmitter {
|
|
|
224
225
|
this._callEndedEvent.emitted = true;
|
|
225
226
|
this.emit('ended');
|
|
226
227
|
}
|
|
227
|
-
resetSummaryMetrics() {
|
|
228
|
-
this.totalAddedClients = 0;
|
|
229
|
-
this.totalRemovedClients = 0;
|
|
230
|
-
this.totalClientsReceivedAudioBytes = 0;
|
|
231
|
-
this.totalClientsReceivedVideoBytes = 0;
|
|
232
|
-
this.totalClientsReceivedBytes = 0;
|
|
233
|
-
this.totalClientsSentAudioBytes = 0;
|
|
234
|
-
this.totalClientsSentVideoBytes = 0;
|
|
235
|
-
this.totalClientsSentBytes = 0;
|
|
236
|
-
this.totalRttLt50Measurements = 0;
|
|
237
|
-
this.totalRttLt150Measurements = 0;
|
|
238
|
-
this.totalRttLt300Measurements = 0;
|
|
239
|
-
this.totalRttGtOrEq300Measurements = 0;
|
|
240
|
-
this.numberOfIssues = 0;
|
|
241
|
-
this.clientsUsedTurn.clear();
|
|
242
|
-
}
|
|
243
|
-
createSummary() {
|
|
244
|
-
return {
|
|
245
|
-
currentActiveClients: this.observedClients.size,
|
|
246
|
-
totalAddedClients: this.totalAddedClients,
|
|
247
|
-
totalRemovedClients: this.totalRemovedClients,
|
|
248
|
-
totalClientsReceivedAudioBytes: this.totalClientsReceivedBytes,
|
|
249
|
-
totalClientsReceivedVideoBytes: this.totalClientsReceivedVideoBytes,
|
|
250
|
-
totalClientsReceivedBytes: this.totalClientsReceivedBytes,
|
|
251
|
-
totalClientsSentAudioBytes: this.totalClientsSentAudioBytes,
|
|
252
|
-
totalClientsSentVideoBytes: this.totalClientsSentVideoBytes,
|
|
253
|
-
totalClientsSentBytes: this.totalClientsSentBytes,
|
|
254
|
-
totalRttLt50Measurements: this.totalRttLt50Measurements,
|
|
255
|
-
totalRttLt150Measurements: this.totalRttLt150Measurements,
|
|
256
|
-
totalRttLt300Measurements: this.totalRttLt300Measurements,
|
|
257
|
-
totalRttGtOrEq300Measurements: this.totalRttGtOrEq300Measurements,
|
|
258
|
-
numberOfIssues: this.numberOfIssues,
|
|
259
|
-
numberOfClientsUsedTurn: this.clientsUsedTurn.size,
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
228
|
}
|
|
263
229
|
exports.ObservedCall = ObservedCall;
|
package/lib/ObservedClient.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ import * as MetaData from './schema/ClientMetaTypes';
|
|
|
6
6
|
import { ObservedCall } from './ObservedCall';
|
|
7
7
|
import { CalculatedScore } from './scores/CalculatedScore';
|
|
8
8
|
import { Detectors } from './detectors/Detectors';
|
|
9
|
-
import { ObservedClientSummary } from './ObservedClientSummary';
|
|
10
9
|
export type ObservedClientSettings<AppData extends Record<string, unknown> = Record<string, unknown>> = {
|
|
11
10
|
clientId: string;
|
|
12
11
|
appData?: AppData;
|
|
@@ -53,6 +52,7 @@ export declare class ObservedClient<AppData extends Record<string, unknown> = Re
|
|
|
53
52
|
browser?: MetaData.Browser;
|
|
54
53
|
mediaConstraints: string[];
|
|
55
54
|
usingTURN: boolean;
|
|
55
|
+
usingTCP: boolean;
|
|
56
56
|
availableOutgoingBitrate: number;
|
|
57
57
|
availableIncomingBitrate: number;
|
|
58
58
|
totalInboundPacketsLost: number;
|
|
@@ -79,14 +79,15 @@ export declare class ObservedClient<AppData extends Record<string, unknown> = Re
|
|
|
79
79
|
deltaInboundPacketsLost: number;
|
|
80
80
|
deltaInboundPacketsReceived: number;
|
|
81
81
|
deltaOutboundPacketsSent: number;
|
|
82
|
-
deltaRttInMsMeasurements: number[];
|
|
83
82
|
deltaTransportSentBytes: number;
|
|
84
83
|
deltaTransportReceivedBytes: number;
|
|
85
84
|
deltaRttLt50Measurements: number;
|
|
86
85
|
deltaRttLt150Measurements: number;
|
|
87
86
|
deltaRttLt300Measurements: number;
|
|
88
87
|
deltaRttGtOrEq300Measurements: number;
|
|
89
|
-
|
|
88
|
+
currentMaxRttInMs?: number;
|
|
89
|
+
currentMinRttInMs?: number;
|
|
90
|
+
currentAvgRttInMs?: number;
|
|
90
91
|
sendingAudioBitrate: number;
|
|
91
92
|
sendingVideoBitrate: number;
|
|
92
93
|
receivingAudioBitrate: number;
|
|
@@ -103,7 +104,7 @@ export declare class ObservedClient<AppData extends Record<string, unknown> = Re
|
|
|
103
104
|
deltaNumberOfIssues: number;
|
|
104
105
|
totalScoreSum: number;
|
|
105
106
|
numberOfScoreMeasurements: number;
|
|
106
|
-
|
|
107
|
+
totalNumberOfIssues: number;
|
|
107
108
|
readonly mediaDevices: MetaData.MediaDeviceInfo[];
|
|
108
109
|
issues: ClientIssue[];
|
|
109
110
|
constructor(settings: ObservedClientSettings<AppData>, call: ObservedCall);
|
|
@@ -116,8 +117,5 @@ export declare class ObservedClient<AppData extends Record<string, unknown> = Re
|
|
|
116
117
|
addIssue(issue: ClientIssue): void;
|
|
117
118
|
addExtensionStats(stats: ExtensionStat): void;
|
|
118
119
|
private _updatePeerConnection;
|
|
119
|
-
resetSummaryMetrics(): void;
|
|
120
|
-
createSummary(): ObservedClientSummary;
|
|
121
|
-
private _updateRttMeasurements;
|
|
122
120
|
}
|
|
123
121
|
//# sourceMappingURL=ObservedClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedClient.d.ts","sourceRoot":"","sources":["../src/ObservedClient.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAe,cAAc,EAAE,YAAY,EAAwB,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACpI,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ObservedClient.d.ts","sourceRoot":"","sources":["../src/ObservedClient.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAe,cAAc,EAAE,YAAY,EAAwB,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACpI,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvG,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE;QACP;YACC,MAAM,EAAE,YAAY,CAAC;YACrB,eAAe,EAAE,MAAM,CAAC;SACxB;KACD,CAAC;IACF,KAAK,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,EAAE,CAAC;IACX,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC;IACrB,QAAQ,EAAE,CAAC,cAAc,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,EAAE,CAAC;IACT,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;IAGzB,iBAAiB,EAAE,CAAC,sBAAsB,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,CAAC,OAAO,WAAW,cAAc;IACtC,EAAE,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/G,GAAG,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAChH,IAAI,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACjH,IAAI,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAChG;AAED,qBAAa,cAAc,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,YAAY;aA2FpC,IAAI,EAAE,YAAY;IA1FhG,SAAgB,SAAS,EAAE,SAAS,CAAC;IAErC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,uBAAuB,sCAA6C;IACpF,SAAgB,eAAe,EAAE,eAAe,CAG9C;IAEK,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,OAAO,SAAc;IACrB,eAAe,SAAK;IACpB,MAAM,UAAS;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAC3C,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC7B,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhC,SAAS,UAAS;IAClB,QAAQ,UAAS;IACjB,wBAAwB,SAAK;IAC7B,wBAAwB,SAAK;IAE7B,uBAAuB,SAAK;IAC5B,2BAA2B,SAAK;IAChC,wBAAwB,SAAK;IAC7B,yBAAyB,SAAK;IAC9B,6BAA6B,SAAK;IAClC,4BAA4B,SAAK;IACjC,gCAAgC,SAAK;IACrC,uBAAuB,SAAK;IAC5B,uBAAuB,SAAK;IAC5B,mBAAmB,SAAK;IACxB,mBAAmB,SAAK;IACxB,cAAc,SAAK;IACnB,kBAAkB,SAAK;IAEvB,uBAAuB,SAAK;IAC5B,uBAAuB,SAAK;IAC5B,mBAAmB,SAAK;IACxB,mBAAmB,SAAK;IACxB,yBAAyB,SAAK;IAC9B,6BAA6B,SAAK;IAClC,4BAA4B,SAAK;IACjC,gCAAgC,SAAK;IACrC,uBAAuB,SAAK;IAC5B,2BAA2B,SAAK;IAChC,wBAAwB,SAAK;IAC7B,uBAAuB,SAAK;IAC5B,2BAA2B,SAAK;IAChC,wBAAwB,SAAK;IAC7B,yBAAyB,SAAK;IAC9B,yBAAyB,SAAK;IAC9B,6BAA6B,SAAK;IAElC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,mBAAmB,SAAK;IACxB,mBAAmB,SAAK;IACxB,qBAAqB,SAAK;IAC1B,qBAAqB,SAAK;IAE1B,yBAAyB,SAAK;IAC9B,oBAAoB,SAAK;IACzB,0BAA0B,SAAK;IAC/B,sBAAsB,SAAK;IAC3B,oBAAoB,SAAK;IAEzB,wBAAwB,SAAK;IAC7B,yBAAyB,SAAK;IAC9B,yBAAyB,SAAK;IAC9B,6BAA6B,SAAK;IAClC,mBAAmB,SAAK;IAExB,aAAa,SAAK;IAClB,yBAAyB,SAAK;IAC9B,mBAAmB,SAAK;IAE/B,SAAgB,YAAY,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAM;IACvD,MAAM,EAAE,WAAW,EAAE,CAAM;gBAEf,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAkB,IAAI,EAAE,YAAY;IAUhG,IAAW,uBAAuB,WAEjC;IAED,IAAW,KAAK,uBAEf;IAEM,KAAK;IASL,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAoKzC,OAAO,CAAC,mBAAmB;IAkCpB,WAAW,CAAC,QAAQ,EAAE,cAAc;IAyBpC,QAAQ,CAAC,KAAK,EAAE,WAAW;IAO3B,iBAAiB,CAAC,KAAK,EAAE,aAAa;IAI7C,OAAO,CAAC,qBAAqB;CAyE7B"}
|
package/lib/ObservedClient.js
CHANGED
|
@@ -32,6 +32,7 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
32
32
|
browser;
|
|
33
33
|
mediaConstraints = [];
|
|
34
34
|
usingTURN = false;
|
|
35
|
+
usingTCP = false;
|
|
35
36
|
availableOutgoingBitrate = 0;
|
|
36
37
|
availableIncomingBitrate = 0;
|
|
37
38
|
totalInboundPacketsLost = 0;
|
|
@@ -58,14 +59,15 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
58
59
|
deltaInboundPacketsLost = 0;
|
|
59
60
|
deltaInboundPacketsReceived = 0;
|
|
60
61
|
deltaOutboundPacketsSent = 0;
|
|
61
|
-
deltaRttInMsMeasurements = [];
|
|
62
62
|
deltaTransportSentBytes = 0;
|
|
63
63
|
deltaTransportReceivedBytes = 0;
|
|
64
64
|
deltaRttLt50Measurements = 0;
|
|
65
65
|
deltaRttLt150Measurements = 0;
|
|
66
66
|
deltaRttLt300Measurements = 0;
|
|
67
67
|
deltaRttGtOrEq300Measurements = 0;
|
|
68
|
-
|
|
68
|
+
currentMaxRttInMs;
|
|
69
|
+
currentMinRttInMs;
|
|
70
|
+
currentAvgRttInMs;
|
|
69
71
|
sendingAudioBitrate = 0;
|
|
70
72
|
sendingVideoBitrate = 0;
|
|
71
73
|
receivingAudioBitrate = 0;
|
|
@@ -82,7 +84,7 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
82
84
|
deltaNumberOfIssues = 0;
|
|
83
85
|
totalScoreSum = 0;
|
|
84
86
|
numberOfScoreMeasurements = 0;
|
|
85
|
-
|
|
87
|
+
totalNumberOfIssues = 0;
|
|
86
88
|
mediaDevices = [];
|
|
87
89
|
issues = [];
|
|
88
90
|
constructor(settings, call) {
|
|
@@ -112,6 +114,8 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
112
114
|
const now = Date.now();
|
|
113
115
|
const elapsedInMs = now - this.updated;
|
|
114
116
|
const elapsedInSeconds = elapsedInMs / 1000;
|
|
117
|
+
let sumOfRtts = 0;
|
|
118
|
+
let numberOfRttMeasurements = 0;
|
|
115
119
|
++this.acceptedSamples;
|
|
116
120
|
this.availableIncomingBitrate = 0;
|
|
117
121
|
this.availableOutgoingBitrate = 0;
|
|
@@ -128,7 +132,6 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
128
132
|
this.deltaSentVideoBytes = 0;
|
|
129
133
|
this.deltaTransportReceivedBytes = 0;
|
|
130
134
|
this.deltaTransportSentBytes = 0;
|
|
131
|
-
this.deltaRttInMsMeasurements = [];
|
|
132
135
|
this.deltaRttLt50Measurements = 0;
|
|
133
136
|
this.deltaRttLt150Measurements = 0;
|
|
134
137
|
this.deltaRttLt300Measurements = 0;
|
|
@@ -139,12 +142,77 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
139
142
|
this.numberOfInbundTracks = 0;
|
|
140
143
|
this.numberOfOutboundRtpStreams = 0;
|
|
141
144
|
this.numberOfOutboundTracks = 0;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
+
this.usingTURN = false;
|
|
146
|
+
this.usingTCP = false;
|
|
147
|
+
this.currentMinRttInMs = undefined;
|
|
148
|
+
this.currentMaxRttInMs = undefined;
|
|
149
|
+
for (const clientEvent of sample.clientEvents ?? []) {
|
|
150
|
+
this._processClientEvent(clientEvent);
|
|
151
|
+
}
|
|
152
|
+
for (const metaData of sample.clientMetaItems ?? []) {
|
|
153
|
+
this.addMetadata(metaData);
|
|
154
|
+
}
|
|
155
|
+
for (const issue of sample.clientIssues ?? []) {
|
|
156
|
+
this.addIssue(issue);
|
|
157
|
+
++this.deltaNumberOfIssues;
|
|
158
|
+
}
|
|
159
|
+
for (const extensionStat of sample.extensionStats ?? []) {
|
|
160
|
+
this.addExtensionStats(extensionStat);
|
|
161
|
+
}
|
|
162
|
+
for (const pcSample of sample.peerConnections ?? []) {
|
|
163
|
+
const observedPeerConnection = this._updatePeerConnection(pcSample);
|
|
164
|
+
if (!observedPeerConnection)
|
|
165
|
+
continue;
|
|
166
|
+
this.deltaDataChannelBytesReceived += observedPeerConnection.deltaDataChannelBytesReceived;
|
|
167
|
+
this.deltaDataChannelBytesSent += observedPeerConnection.deltaDataChannelBytesSent;
|
|
168
|
+
this.deltaDataChannelMessagesReceived += observedPeerConnection.deltaDataChannelMessagesReceived;
|
|
169
|
+
this.deltaDataChannelMessagesSent += observedPeerConnection.deltaDataChannelMessagesSent;
|
|
170
|
+
this.deltaInboundPacketsLost += observedPeerConnection.deltaInboundPacketsLost;
|
|
171
|
+
this.deltaInboundPacketsReceived += observedPeerConnection.deltaInboundPacketsReceived;
|
|
172
|
+
this.deltaOutboundPacketsSent += observedPeerConnection.deltaOutboundPacketsSent;
|
|
173
|
+
this.deltaReceivedAudioBytes += observedPeerConnection.deltaReceivedAudioBytes;
|
|
174
|
+
this.deltaReceivedVideoBytes += observedPeerConnection.deltaReceivedVideoBytes;
|
|
175
|
+
this.deltaSentAudioBytes += observedPeerConnection.deltaSentAudioBytes;
|
|
176
|
+
this.deltaSentVideoBytes += observedPeerConnection.deltaSentVideoBytes;
|
|
177
|
+
this.deltaTransportReceivedBytes += observedPeerConnection.deltaTransportReceivedBytes;
|
|
178
|
+
this.deltaTransportSentBytes += observedPeerConnection.deltaTransportSentBytes;
|
|
179
|
+
this.availableIncomingBitrate += observedPeerConnection.availableIncomingBitrate;
|
|
180
|
+
this.availableOutgoingBitrate += observedPeerConnection.availableOutgoingBitrate;
|
|
181
|
+
this.numberOfDataChannels += observedPeerConnection.observedDataChannels.size;
|
|
182
|
+
this.numberOfInbundTracks += observedPeerConnection.observedInboundTracks.size;
|
|
183
|
+
this.numberOfOutboundRtpStreams += observedPeerConnection.observedOutboundRtps.size;
|
|
184
|
+
this.numberOfOutboundTracks += observedPeerConnection.observedOutboundTracks.size;
|
|
185
|
+
this.numberOfInboundRtpStreams += observedPeerConnection.observedInboundRtps.size;
|
|
186
|
+
if (observedPeerConnection.usingTURN) {
|
|
187
|
+
this.usingTURN = true;
|
|
188
|
+
}
|
|
189
|
+
if (observedPeerConnection.usingTCP) {
|
|
190
|
+
this.usingTCP = true;
|
|
191
|
+
}
|
|
192
|
+
if (observedPeerConnection.currentRttInMs) {
|
|
193
|
+
if (this.currentMinRttInMs === undefined || observedPeerConnection.currentRttInMs < this.currentMinRttInMs) {
|
|
194
|
+
this.currentMinRttInMs = observedPeerConnection.currentRttInMs;
|
|
195
|
+
}
|
|
196
|
+
if (this.currentMaxRttInMs === undefined || observedPeerConnection.currentRttInMs > this.currentMaxRttInMs) {
|
|
197
|
+
this.currentMaxRttInMs = observedPeerConnection.currentRttInMs;
|
|
198
|
+
}
|
|
199
|
+
if (observedPeerConnection.currentRttInMs < 50) {
|
|
200
|
+
this.deltaRttLt50Measurements += 1;
|
|
201
|
+
}
|
|
202
|
+
else if (observedPeerConnection.currentRttInMs < 150) {
|
|
203
|
+
this.deltaRttLt150Measurements += 1;
|
|
204
|
+
}
|
|
205
|
+
else if (observedPeerConnection.currentRttInMs < 300) {
|
|
206
|
+
this.deltaRttLt300Measurements += 1;
|
|
207
|
+
}
|
|
208
|
+
else if (300 <= observedPeerConnection.currentRttInMs) {
|
|
209
|
+
this.deltaRttGtOrEq300Measurements += 1;
|
|
210
|
+
}
|
|
211
|
+
sumOfRtts += observedPeerConnection.currentRttInMs;
|
|
212
|
+
++numberOfRttMeasurements;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
145
215
|
sample.peerConnections?.forEach(this._updatePeerConnection.bind(this));
|
|
146
|
-
sample.extensionStats?.forEach(this.addExtensionStats.bind(this));
|
|
147
|
-
this._updateRttMeasurements();
|
|
148
216
|
// emit new attachments?
|
|
149
217
|
this.attachments = sample.attachments;
|
|
150
218
|
this.totalDataChannelBytesReceived += this.deltaDataChannelBytesReceived;
|
|
@@ -164,11 +232,12 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
164
232
|
this.totalRttLt150Measurements += this.deltaRttLt150Measurements;
|
|
165
233
|
this.totalRttLt300Measurements += this.deltaRttLt300Measurements;
|
|
166
234
|
this.totalRttGtOrEq300Measurements += this.deltaRttGtOrEq300Measurements;
|
|
167
|
-
this.
|
|
235
|
+
this.totalNumberOfIssues += this.deltaNumberOfIssues;
|
|
168
236
|
this.receivingAudioBitrate = (this.deltaReceivedAudioBytes * 8) / (elapsedInSeconds);
|
|
169
237
|
this.receivingVideoBitrate = (this.totalReceivedVideoBytes * 8) / (elapsedInSeconds);
|
|
170
238
|
this.sendingAudioBitrate = (this.deltaSentAudioBytes * 8) / (elapsedInSeconds);
|
|
171
239
|
this.sendingVideoBitrate = (this.deltaSentVideoBytes * 8) / (elapsedInSeconds);
|
|
240
|
+
this.currentAvgRttInMs = 0 < numberOfRttMeasurements ? sumOfRtts / numberOfRttMeasurements : undefined;
|
|
172
241
|
this.calculatedScore.value = sample.score;
|
|
173
242
|
this.detectors.update();
|
|
174
243
|
// emit update
|
|
@@ -244,7 +313,6 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
244
313
|
addIssue(issue) {
|
|
245
314
|
if (this.closed)
|
|
246
315
|
return;
|
|
247
|
-
++this.deltaNumberOfIssues;
|
|
248
316
|
this.emit('issue', issue);
|
|
249
317
|
this.call.observer.emit('client-issue', this, issue);
|
|
250
318
|
}
|
|
@@ -255,7 +323,7 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
255
323
|
let observedPeerConnection = this.observedPeerConnections.get(sample.peerConnectionId);
|
|
256
324
|
if (!observedPeerConnection) {
|
|
257
325
|
if (!sample.peerConnectionId) {
|
|
258
|
-
return logger.warn(`ObservedClient received an invalid PeerConnectionSample (missing peerConnectionId field). ClientId: ${this.clientId}, CallId: ${this.call.callId}`, sample);
|
|
326
|
+
return (logger.warn(`ObservedClient received an invalid PeerConnectionSample (missing peerConnectionId field). ClientId: ${this.clientId}, CallId: ${this.call.callId}`, sample), void 0);
|
|
259
327
|
}
|
|
260
328
|
observedPeerConnection = new ObservedPeerConnection_1.ObservedPeerConnection(sample.peerConnectionId, this);
|
|
261
329
|
observedPeerConnection.once('close', () => {
|
|
@@ -265,96 +333,7 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
265
333
|
this.emit('newpeerconnection', observedPeerConnection);
|
|
266
334
|
}
|
|
267
335
|
observedPeerConnection.accept(sample);
|
|
268
|
-
observedPeerConnection
|
|
269
|
-
this.deltaDataChannelBytesReceived += observedPeerConnection.deltaDataChannelBytesReceived;
|
|
270
|
-
this.deltaDataChannelBytesSent += observedPeerConnection.deltaDataChannelBytesSent;
|
|
271
|
-
this.deltaDataChannelMessagesReceived += observedPeerConnection.deltaDataChannelMessagesReceived;
|
|
272
|
-
this.deltaDataChannelMessagesSent += observedPeerConnection.deltaDataChannelMessagesSent;
|
|
273
|
-
this.deltaInboundPacketsLost += observedPeerConnection.deltaInboundPacketsLost;
|
|
274
|
-
this.deltaInboundPacketsReceived += observedPeerConnection.deltaInboundPacketsReceived;
|
|
275
|
-
this.deltaOutboundPacketsSent += observedPeerConnection.deltaOutboundPacketsSent;
|
|
276
|
-
this.deltaReceivedAudioBytes += observedPeerConnection.deltaReceivedAudioBytes;
|
|
277
|
-
this.deltaReceivedVideoBytes += observedPeerConnection.deltaReceivedVideoBytes;
|
|
278
|
-
this.deltaSentAudioBytes += observedPeerConnection.deltaSentAudioBytes;
|
|
279
|
-
this.deltaSentVideoBytes += observedPeerConnection.deltaSentVideoBytes;
|
|
280
|
-
this.deltaTransportReceivedBytes += observedPeerConnection.deltaTransportReceivedBytes;
|
|
281
|
-
this.deltaTransportSentBytes += observedPeerConnection.deltaTransportSentBytes;
|
|
282
|
-
this.availableIncomingBitrate += observedPeerConnection.availableIncomingBitrate;
|
|
283
|
-
this.availableOutgoingBitrate += observedPeerConnection.availableOutgoingBitrate;
|
|
284
|
-
this.numberOfDataChannels += observedPeerConnection.observedDataChannels.size;
|
|
285
|
-
this.numberOfInbundTracks += observedPeerConnection.observedInboundTracks.size;
|
|
286
|
-
this.numberOfOutboundRtpStreams += observedPeerConnection.observedOutboundRtps.size;
|
|
287
|
-
this.numberOfOutboundTracks += observedPeerConnection.observedOutboundTracks.size;
|
|
288
|
-
this.numberOfInboundRtpStreams += observedPeerConnection.observedInboundRtps.size;
|
|
289
|
-
if (observedPeerConnection.currentRttInMs) {
|
|
290
|
-
this.deltaRttInMsMeasurements.push(observedPeerConnection.currentRttInMs);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
resetSummaryMetrics() {
|
|
294
|
-
this.totalDataChannelBytesReceived = 0;
|
|
295
|
-
this.totalDataChannelBytesSent = 0;
|
|
296
|
-
this.totalDataChannelMessagesReceived = 0;
|
|
297
|
-
this.totalDataChannelMessagesSent = 0;
|
|
298
|
-
this.totalInboundPacketsLost = 0;
|
|
299
|
-
this.totalInboundPacketsReceived = 0;
|
|
300
|
-
this.totalOutboundPacketsSent = 0;
|
|
301
|
-
this.totalReceivedAudioBytes = 0;
|
|
302
|
-
this.totalReceivedVideoBytes = 0;
|
|
303
|
-
this.totalSentAudioBytes = 0;
|
|
304
|
-
this.totalSentVideoBytes = 0;
|
|
305
|
-
this.totalSentBytes = 0;
|
|
306
|
-
this.totalReceivedBytes = 0;
|
|
307
|
-
this.numberOfIssues = 0;
|
|
308
|
-
this.totalScoreSum = 0;
|
|
309
|
-
this.numberOfScoreMeasurements = 0;
|
|
310
|
-
}
|
|
311
|
-
createSummary() {
|
|
312
|
-
return {
|
|
313
|
-
totalRttLt50Measurements: this.totalRttLt50Measurements,
|
|
314
|
-
totalRttLt150Measurements: this.totalRttLt150Measurements,
|
|
315
|
-
totalRttLt300Measurements: this.totalRttLt300Measurements,
|
|
316
|
-
totalRttGtOrEq300Measurements: this.totalRttGtOrEq300Measurements,
|
|
317
|
-
totalDataChannelBytesReceived: this.totalDataChannelBytesReceived,
|
|
318
|
-
totalDataChannelBytesSent: this.totalDataChannelBytesSent,
|
|
319
|
-
totalDataChannelMessagesReceived: this.totalDataChannelMessagesReceived,
|
|
320
|
-
totalDataChannelMessagesSent: this.totalDataChannelMessagesSent,
|
|
321
|
-
totalInboundPacketsLost: this.totalInboundPacketsLost,
|
|
322
|
-
totalInboundPacketsReceived: this.totalInboundPacketsReceived,
|
|
323
|
-
totalOutboundPacketsSent: this.totalOutboundPacketsSent,
|
|
324
|
-
totalReceivedAudioBytes: this.totalReceivedAudioBytes,
|
|
325
|
-
totalReceivedVideoBytes: this.totalReceivedVideoBytes,
|
|
326
|
-
totalSentAudioBytes: this.totalSentAudioBytes,
|
|
327
|
-
totalSentVideoBytes: this.totalSentVideoBytes,
|
|
328
|
-
totalSentBytes: this.totalSentBytes,
|
|
329
|
-
totalReceivedBytes: this.totalReceivedBytes,
|
|
330
|
-
numberOfIssues: this.numberOfIssues,
|
|
331
|
-
totalScoreSum: this.totalScoreSum,
|
|
332
|
-
numberOfScoreMeasurements: this.numberOfScoreMeasurements,
|
|
333
|
-
};
|
|
334
|
-
}
|
|
335
|
-
_updateRttMeasurements() {
|
|
336
|
-
if (this.deltaRttInMsMeasurements.length < 1) {
|
|
337
|
-
this.currentRttInMs = undefined;
|
|
338
|
-
return;
|
|
339
|
-
}
|
|
340
|
-
this.currentRttInMs = (0, utils_1.getMedian)(this.deltaRttInMsMeasurements, false);
|
|
341
|
-
if (this.currentRttInMs < 0) {
|
|
342
|
-
logger.warn(`Current Rtt for client ${this.clientId} is smaller than 0`);
|
|
343
|
-
this.currentRttInMs = undefined;
|
|
344
|
-
return;
|
|
345
|
-
}
|
|
346
|
-
if (this.currentRttInMs < 50) {
|
|
347
|
-
this.deltaRttLt50Measurements += 1;
|
|
348
|
-
}
|
|
349
|
-
else if (this.currentRttInMs < 150) {
|
|
350
|
-
this.deltaRttLt150Measurements += 1;
|
|
351
|
-
}
|
|
352
|
-
else if (this.currentRttInMs < 300) {
|
|
353
|
-
this.deltaRttLt300Measurements += 1;
|
|
354
|
-
}
|
|
355
|
-
else if (300 <= this.currentRttInMs) {
|
|
356
|
-
this.deltaRttGtOrEq300Measurements += 1;
|
|
357
|
-
}
|
|
336
|
+
return observedPeerConnection;
|
|
358
337
|
}
|
|
359
338
|
}
|
|
360
339
|
exports.ObservedClient = ObservedClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedPeerConnection.d.ts","sourceRoot":"","sources":["../src/ObservedPeerConnection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ObservedPeerConnection.d.ts","sourceRoot":"","sources":["../src/ObservedPeerConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -198,6 +198,8 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
198
198
|
this.deltaReceivedVideoPackets = 0;
|
|
199
199
|
this.deltaSentAudioBytes = 0;
|
|
200
200
|
this.deltaSentVideoBytes = 0;
|
|
201
|
+
this.deltaTransportReceivedBytes = 0;
|
|
202
|
+
this.deltaTransportSentBytes = 0;
|
|
201
203
|
this.sendingAudioBitrate = 0;
|
|
202
204
|
this.sendingVideoBitrate = 0;
|
|
203
205
|
this.receivingAudioBitrate = 0;
|
|
@@ -311,7 +313,9 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
311
313
|
}
|
|
312
314
|
if (sample.peerConnectionTransports) {
|
|
313
315
|
for (const peerConnectionTransport of sample.peerConnectionTransports) {
|
|
314
|
-
this._updatePeerConnectionTransportStats(peerConnectionTransport);
|
|
316
|
+
const observedTransport = this._updatePeerConnectionTransportStats(peerConnectionTransport);
|
|
317
|
+
if (!observedTransport)
|
|
318
|
+
continue;
|
|
315
319
|
}
|
|
316
320
|
}
|
|
317
321
|
if (sample.remoteInboundRtps) {
|
|
@@ -376,12 +380,22 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
376
380
|
else {
|
|
377
381
|
this.currentJitter = undefined;
|
|
378
382
|
}
|
|
379
|
-
const selectedIceCandidatePairs = this.selectedIceCandidatePairs;
|
|
380
|
-
const selectedCandidatePairForTurn = selectedIceCandidatePairs.filter((pair) => pair.getLocalCandidate()?.candidateType === 'relay' &&
|
|
381
|
-
pair.getRemoteCandidate()?.url?.startsWith('turn:'));
|
|
382
383
|
const wasUsingTURN = this.usingTURN;
|
|
383
|
-
|
|
384
|
-
|
|
384
|
+
const selectedIceCandidatePairs = this.selectedIceCandidatePairs;
|
|
385
|
+
const selectedCandidatePairForTurn = [];
|
|
386
|
+
this.usingTCP = false;
|
|
387
|
+
this.usingTURN = false;
|
|
388
|
+
for (const selectedCandidatePair of selectedIceCandidatePairs) {
|
|
389
|
+
if (selectedCandidatePair.getLocalCandidate()?.protocol === 'tcp') {
|
|
390
|
+
this.usingTCP = true;
|
|
391
|
+
}
|
|
392
|
+
if (selectedCandidatePair.getLocalCandidate()?.candidateType === 'relay' && selectedCandidatePair.getRemoteCandidate()?.url?.startsWith('turn:')) {
|
|
393
|
+
selectedCandidatePairForTurn.push(selectedCandidatePair);
|
|
394
|
+
this.usingTURN = true;
|
|
395
|
+
}
|
|
396
|
+
this.deltaTransportReceivedBytes += selectedCandidatePair.deltaBytesReceived;
|
|
397
|
+
this.deltaTransportSentBytes += selectedCandidatePair.deltaBytesSent;
|
|
398
|
+
}
|
|
385
399
|
if (this.usingTURN) {
|
|
386
400
|
if (!this.observedTurnServer) {
|
|
387
401
|
this.observedTurnServer = this.client.call.observer.observedTURN.addPeerConnection(this);
|
package/lib/Observer.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ import { ObservedClient } from './ObservedClient';
|
|
|
6
6
|
import { ObservedTURN } from './ObservedTURN';
|
|
7
7
|
import { Detectors } from './detectors/Detectors';
|
|
8
8
|
import { Updater } from './updaters/Updater';
|
|
9
|
-
import { ObserverSummary } from './ObserverSummary';
|
|
10
9
|
export type ObserverEvents = {
|
|
11
10
|
'client-event': [ObservedClient, ClientEvent];
|
|
12
11
|
'call-updated': [ObservedCall];
|
|
@@ -43,6 +42,7 @@ export declare class Observer extends EventEmitter {
|
|
|
43
42
|
totalRttLt300Measurements: number;
|
|
44
43
|
totalRttGtOrEq300Measurements: number;
|
|
45
44
|
totalClientIssues: number;
|
|
45
|
+
numberOfClientsUsedTurn: number;
|
|
46
46
|
numberOfClients: number;
|
|
47
47
|
numberOfInboundRtpStreams: number;
|
|
48
48
|
numberOfOutboundRtpStreams: number;
|
|
@@ -57,7 +57,5 @@ export declare class Observer extends EventEmitter {
|
|
|
57
57
|
accept(sample: ClientSample): void;
|
|
58
58
|
update(): void;
|
|
59
59
|
private _onObservedCallUpdated;
|
|
60
|
-
resetSummaryMetrics(): void;
|
|
61
|
-
createSummary(): ObserverSummary;
|
|
62
60
|
}
|
|
63
61
|
//# sourceMappingURL=Observer.d.ts.map
|
package/lib/Observer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"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"}
|
package/lib/Observer.js
CHANGED
|
@@ -24,6 +24,7 @@ class Observer extends events_1.EventEmitter {
|
|
|
24
24
|
totalRttLt300Measurements = 0;
|
|
25
25
|
totalRttGtOrEq300Measurements = 0;
|
|
26
26
|
totalClientIssues = 0;
|
|
27
|
+
numberOfClientsUsedTurn = 0;
|
|
27
28
|
numberOfClients = 0;
|
|
28
29
|
numberOfInboundRtpStreams = 0;
|
|
29
30
|
numberOfOutboundRtpStreams = 0;
|
|
@@ -132,12 +133,14 @@ class Observer extends events_1.EventEmitter {
|
|
|
132
133
|
this.numberOfPeerConnections = 0;
|
|
133
134
|
this.numberOfDataChannels = 0;
|
|
134
135
|
this.numberOfClients = 0;
|
|
136
|
+
this.numberOfClientsUsedTurn = 0;
|
|
135
137
|
for (const call of this.observedCalls.values()) {
|
|
136
138
|
this.numberOfInboundRtpStreams += call.numberOfInboundRtpStreams;
|
|
137
139
|
this.numberOfOutboundRtpStreams += call.numberOfOutboundRtpStreams;
|
|
138
140
|
this.numberOfPeerConnections += call.numberOfPeerConnections;
|
|
139
141
|
this.numberOfDataChannels += call.numberOfDataChannels;
|
|
140
142
|
this.numberOfClients += call.numberOfClients;
|
|
143
|
+
this.numberOfClientsUsedTurn += call.clientsUsedTurn.size;
|
|
141
144
|
}
|
|
142
145
|
this.observedTURN.update();
|
|
143
146
|
this.emit('update');
|
|
@@ -149,26 +152,5 @@ class Observer extends events_1.EventEmitter {
|
|
|
149
152
|
this.totalRttGtOrEq300Measurements += call.deltaRttGtOrEq300Measurements;
|
|
150
153
|
this.totalClientIssues += call.deltaNumberOfIssues;
|
|
151
154
|
}
|
|
152
|
-
resetSummaryMetrics() {
|
|
153
|
-
this.totalAddedCall = 0;
|
|
154
|
-
this.totalRemovedCall = 0;
|
|
155
|
-
this.totalRttLt50Measurements = 0;
|
|
156
|
-
this.totalRttLt150Measurements = 0;
|
|
157
|
-
this.totalRttLt300Measurements = 0;
|
|
158
|
-
this.totalRttGtOrEq300Measurements = 0;
|
|
159
|
-
this.totalClientIssues = 0;
|
|
160
|
-
}
|
|
161
|
-
createSummary() {
|
|
162
|
-
return {
|
|
163
|
-
totalAddedCall: this.totalAddedCall,
|
|
164
|
-
totalRemovedCall: this.totalRemovedCall,
|
|
165
|
-
totalRttLt50Measurements: this.totalRttLt50Measurements,
|
|
166
|
-
totalRttLt150Measurements: this.totalRttLt150Measurements,
|
|
167
|
-
totalRttLt300Measurements: this.totalRttLt300Measurements,
|
|
168
|
-
totalRttGtOrEq300Measurements: this.totalRttGtOrEq300Measurements,
|
|
169
|
-
totalClientIssues: this.totalClientIssues,
|
|
170
|
-
currentActiveCalls: this.observedCalls.size,
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
155
|
}
|
|
174
156
|
exports.Observer = Observer;
|
package/lib/ObserverSummary.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObserverSummary.d.ts","sourceRoot":"","sources":["../src/ObserverSummary.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC7B,kBAAkB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ObserverSummary.d.ts","sourceRoot":"","sources":["../src/ObserverSummary.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+BAA+B,EAAE,MAAM,CAAC;IACxC,sBAAsB,EAAE,MAAM,CAAC;IAE/B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,6BAA6B,EAAE,MAAM,CAAC;IAEtC,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAA"}
|
package/lib/common/utils.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export type Writable<T> = T extends object ? {
|
|
|
5
5
|
export declare function iteratorConverter<T>(generator: Generator<T, void, undefined>): IterableIterator<T>;
|
|
6
6
|
export declare function asyncIteratorConverter<T>(generator: AsyncGenerator<T, void, undefined>): AsyncIterableIterator<T>;
|
|
7
7
|
export declare function isValidUuid(str: string): boolean;
|
|
8
|
+
export declare function getAverage(arr: number[], defaultAvgIfArrLengthIs0?: number): number;
|
|
8
9
|
export declare function getMedian(arr: number[], copyArrayForSorting?: boolean): number;
|
|
9
10
|
export declare function parseJsonAs<T>(json?: string): T | undefined;
|
|
10
11
|
//# sourceMappingURL=utils.d.ts.map
|