@observertc/observer-js 0.40.16 → 0.40.18
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/monitors/CallSummaryMonitor.d.ts.map +1 -1
- package/lib/monitors/CallSummaryMonitor.js +7 -6
- package/lib/monitors/TurnUsageMonitor.d.ts +3 -0
- package/lib/monitors/TurnUsageMonitor.d.ts.map +1 -1
- package/lib/monitors/TurnUsageMonitor.js +6 -0
- package/package.json +1 -1
- package/src/monitors/CallSummaryMonitor.ts +8 -7
- package/src/monitors/TurnUsageMonitor.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallSummaryMonitor.d.ts","sourceRoot":"","sources":["../../src/monitors/CallSummaryMonitor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAA8B,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C,MAAM,MAAM,wBAAwB,GAAG;IACtC,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;CACvB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uCAAuC,CAAC,EAAE,OAAO,CAAC;CAClD,CAAA;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB;IAC1C,EAAE,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACvH,GAAG,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACxH,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACzH,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACxG;AAED,qBAAa,kBAAmB,SAAQ,YAAY;aAKlC,MAAM,EAAE,wBAAwB;IAJjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAE7D,OAAO,CAAC,OAAO,CAAS;gBAEP,MAAM,GAAE,wBAA6B;IAK/C,OAAO,CAAC,IAAI,EAAE,YAAY;IA8BjC,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"CallSummaryMonitor.d.ts","sourceRoot":"","sources":["../../src/monitors/CallSummaryMonitor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAA8B,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C,MAAM,MAAM,wBAAwB,GAAG;IACtC,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;CACvB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uCAAuC,CAAC,EAAE,OAAO,CAAC;CAClD,CAAA;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB;IAC1C,EAAE,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACvH,GAAG,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACxH,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACzH,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACxG;AAED,qBAAa,kBAAmB,SAAQ,YAAY;aAKlC,MAAM,EAAE,wBAAwB;IAJjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAE7D,OAAO,CAAC,OAAO,CAAS;gBAEP,MAAM,GAAE,wBAA6B;IAK/C,OAAO,CAAC,IAAI,EAAE,YAAY;IA8BjC,OAAO,CAAC,UAAU;IAuElB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,sBAAsB;IAmBvB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAU3D,IAAW,MAAM,YAEhB;IAEM,KAAK;CAMZ"}
|
|
@@ -82,12 +82,13 @@ class CallSummaryMonitor extends events_1.EventEmitter {
|
|
|
82
82
|
client.on('usermediaerror', onUserMediaError);
|
|
83
83
|
client.on('newpeerconnection', onNewPeerConnection);
|
|
84
84
|
client.once('close', () => {
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
clientSummary.
|
|
88
|
-
clientSummary.
|
|
89
|
-
clientSummary.
|
|
90
|
-
clientSummary.
|
|
85
|
+
const now = Date.now();
|
|
86
|
+
const elapsedTimeInS = (now - client.created) / 1000;
|
|
87
|
+
clientSummary.avgInboundAudioBitrate = (client.totalReceivedAudioBytes * 8) / elapsedTimeInS;
|
|
88
|
+
clientSummary.avgInboundVideoBitrate = (client.totalReceivedVideoBytes * 8) / elapsedTimeInS;
|
|
89
|
+
clientSummary.avgOutboundAudioBitrate = (client.totalSentAudioBytes * 8) / elapsedTimeInS;
|
|
90
|
+
clientSummary.avgOutboundVideoBitrate = (client.totalSentVideoBytes * 8) / elapsedTimeInS;
|
|
91
|
+
clientSummary.durationInMs = now - client.created;
|
|
91
92
|
client.off('update', updateClient);
|
|
92
93
|
client.off('usingturn', onUsingTurn);
|
|
93
94
|
client.off('issue', onIssue);
|
|
@@ -24,6 +24,9 @@ export type TurnStats = {
|
|
|
24
24
|
totalPacketsReceived: number;
|
|
25
25
|
deltaBytesSent: number;
|
|
26
26
|
deltaBytesReceived: number;
|
|
27
|
+
timestamp: number;
|
|
28
|
+
outboundBitrate: number;
|
|
29
|
+
inboundBitrate: number;
|
|
27
30
|
};
|
|
28
31
|
export declare interface TurnUsageMonitor {
|
|
29
32
|
on<U extends keyof TurnUsageMonitorEvents>(event: U, listener: (...args: TurnUsageMonitorEvents[U]) => void): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TurnUsageMonitor.d.ts","sourceRoot":"","sources":["../../src/monitors/TurnUsageMonitor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,sBAAsB,GAAG;IACpC,KAAK,EAAE,EAAE,CAAC;IACV,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;IACpB,iBAAiB,EAAE,CAAC,sBAAsB,CAAC,CAAC;IAC5C,oBAAoB,EAAE,CAAC,sBAAsB,CAAC,CAAC;CAC/C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"TurnUsageMonitor.d.ts","sourceRoot":"","sources":["../../src/monitors/TurnUsageMonitor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,sBAAsB,GAAG;IACpC,KAAK,EAAE,EAAE,CAAC;IACV,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;IACpB,iBAAiB,EAAE,CAAC,sBAAsB,CAAC,CAAC;IAC5C,oBAAoB,EAAE,CAAC,sBAAsB,CAAC,CAAC;CAC/C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACvB,CAAA;AAQD,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACxC,EAAE,CAAC,CAAC,SAAS,MAAM,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACnH,GAAG,CAAC,CAAC,SAAS,MAAM,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACpH,IAAI,CAAC,CAAC,SAAS,MAAM,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACrH,IAAI,CAAC,CAAC,SAAS,MAAM,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACpG;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;IACtE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD,OAAO,CAAC,OAAO,CAAS;;IAKjB,QAAQ,IAAI,SAAS,EAAE;IAmCvB,iBAAiB,CAAC,cAAc,EAAE,sBAAsB;IA4CxD,oBAAoB,CAAC,cAAc,EAAE,sBAAsB;IAelE,IAAW,OAAO,aAEjB;IAED,IAAW,eAAe,6BAEzB;IAEM,QAAQ,CAAC,MAAM,EAAE,MAAM;IAI9B,IAAW,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAUxD;IAED,IAAW,MAAM,YAEhB;IAEM,KAAK;CAMZ"}
|
|
@@ -22,9 +22,15 @@ class TurnUsageMonitor extends events_1.EventEmitter {
|
|
|
22
22
|
totalPacketsReceived: 0,
|
|
23
23
|
deltaBytesSent: 0,
|
|
24
24
|
deltaBytesReceived: 0,
|
|
25
|
+
timestamp: Date.now(),
|
|
26
|
+
outboundBitrate: 0,
|
|
27
|
+
inboundBitrate: 0,
|
|
25
28
|
};
|
|
26
29
|
stats.deltaBytesSent = usage.totalBytesSent - stats.totalBytesSent;
|
|
27
30
|
stats.deltaBytesReceived = usage.totalBytesReceived - stats.totalBytesReceived;
|
|
31
|
+
stats.timestamp = Date.now();
|
|
32
|
+
stats.outboundBitrate = (stats.deltaBytesSent * 8) / ((stats.timestamp - stats.timestamp) / 1000.0);
|
|
33
|
+
stats.inboundBitrate = (stats.deltaBytesReceived * 8) / ((stats.timestamp - stats.timestamp) / 1000.0);
|
|
28
34
|
stats.totalBytesSent = usage.totalBytesSent;
|
|
29
35
|
stats.totalBytesReceived = usage.totalBytesReceived;
|
|
30
36
|
stats.totalPacketsSent = usage.totalPacketsSent;
|
package/package.json
CHANGED
|
@@ -115,13 +115,14 @@ export class CallSummaryMonitor extends EventEmitter {
|
|
|
115
115
|
client.on('usermediaerror', onUserMediaError);
|
|
116
116
|
client.on('newpeerconnection', onNewPeerConnection);
|
|
117
117
|
client.once('close', () => {
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
clientSummary.
|
|
122
|
-
clientSummary.
|
|
123
|
-
clientSummary.
|
|
124
|
-
clientSummary.
|
|
118
|
+
const now = Date.now();
|
|
119
|
+
const elapsedTimeInS = (now - client.created) / 1000;
|
|
120
|
+
|
|
121
|
+
clientSummary.avgInboundAudioBitrate = (client.totalReceivedAudioBytes * 8) / elapsedTimeInS;
|
|
122
|
+
clientSummary.avgInboundVideoBitrate = (client.totalReceivedVideoBytes * 8) / elapsedTimeInS;
|
|
123
|
+
clientSummary.avgOutboundAudioBitrate = (client.totalSentAudioBytes * 8) / elapsedTimeInS;
|
|
124
|
+
clientSummary.avgOutboundVideoBitrate = (client.totalSentVideoBytes * 8) / elapsedTimeInS;
|
|
125
|
+
clientSummary.durationInMs = now - client.created;
|
|
125
126
|
client.off('update', updateClient);
|
|
126
127
|
client.off('usingturn', onUsingTurn);
|
|
127
128
|
client.off('issue', onIssue);
|
|
@@ -27,6 +27,9 @@ export type TurnStats = {
|
|
|
27
27
|
totalPacketsReceived: number;
|
|
28
28
|
deltaBytesSent: number;
|
|
29
29
|
deltaBytesReceived: number;
|
|
30
|
+
timestamp: number;
|
|
31
|
+
outboundBitrate: number;
|
|
32
|
+
inboundBitrate: number;
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
type ObservedConnection = {
|
|
@@ -64,10 +67,16 @@ export class TurnUsageMonitor extends EventEmitter {
|
|
|
64
67
|
totalPacketsReceived: 0,
|
|
65
68
|
deltaBytesSent: 0,
|
|
66
69
|
deltaBytesReceived: 0,
|
|
70
|
+
timestamp: Date.now(),
|
|
71
|
+
outboundBitrate: 0,
|
|
72
|
+
inboundBitrate: 0,
|
|
67
73
|
};
|
|
68
74
|
|
|
69
75
|
stats.deltaBytesSent = usage.totalBytesSent - stats.totalBytesSent;
|
|
70
76
|
stats.deltaBytesReceived = usage.totalBytesReceived - stats.totalBytesReceived;
|
|
77
|
+
stats.timestamp = Date.now();
|
|
78
|
+
stats.outboundBitrate = (stats.deltaBytesSent * 8) / ((stats.timestamp - stats.timestamp) / 1000.0);
|
|
79
|
+
stats.inboundBitrate = (stats.deltaBytesReceived * 8) / ((stats.timestamp - stats.timestamp) / 1000.0);
|
|
71
80
|
stats.totalBytesSent = usage.totalBytesSent;
|
|
72
81
|
stats.totalBytesReceived = usage.totalBytesReceived;
|
|
73
82
|
stats.totalPacketsSent = usage.totalPacketsSent;
|