@observertc/observer-js 1.0.1-23e88d8.0 → 1.0.1-620842f.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/ObservedClient.d.ts +4 -2
- package/lib/ObservedClient.d.ts.map +1 -1
- package/lib/ObservedClient.js +9 -24
- package/lib/Observer.d.ts +5 -15
- package/lib/Observer.d.ts.map +1 -1
- package/lib/Observer.js +0 -39
- package/lib/index.d.ts +4 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -5
- package/package.json +1 -1
- package/src/ObservedClient.ts +11 -24
- package/src/Observer.ts +5 -64
- package/src/index.ts +4 -3
package/lib/ObservedClient.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export type ObservedClientEvents = {
|
|
|
19
19
|
];
|
|
20
20
|
close: [];
|
|
21
21
|
joined: [];
|
|
22
|
+
issue: [ClientIssue];
|
|
23
|
+
metaData: [ClientMetaData];
|
|
22
24
|
rejoined: [timestamp: number];
|
|
23
25
|
left: [];
|
|
24
26
|
usingturn: [boolean];
|
|
@@ -65,8 +67,8 @@ export declare class ObservedClient<AppData extends Record<string, unknown> = Re
|
|
|
65
67
|
accept(sample: ClientSample): void;
|
|
66
68
|
private _processClientEvent;
|
|
67
69
|
processMetadata(metadata: ClientMetaData): void;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
addIssue(issue: ClientIssue): void;
|
|
71
|
+
addExtensionStats(stats: ExtensionStat): void;
|
|
70
72
|
private _updatePeerConnection;
|
|
71
73
|
}
|
|
72
74
|
//# sourceMappingURL=ObservedClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedClient.d.ts","sourceRoot":"","sources":["../src/ObservedClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ObservedClient.d.ts","sourceRoot":"","sources":["../src/ObservedClient.ts"],"names":[],"mappings":"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"}
|
package/lib/ObservedClient.js
CHANGED
|
@@ -85,9 +85,9 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
85
85
|
const now = Date.now();
|
|
86
86
|
sample.clientEvents?.forEach(this._processClientEvent.bind(this));
|
|
87
87
|
sample.clientMetaItems?.forEach(this.processMetadata.bind(this));
|
|
88
|
-
sample.clientIssues?.forEach(this.
|
|
88
|
+
sample.clientIssues?.forEach(this.addIssue.bind(this));
|
|
89
89
|
sample.peerConnections?.forEach(this._updatePeerConnection.bind(this));
|
|
90
|
-
sample.extensionStats?.forEach(this.
|
|
90
|
+
sample.extensionStats?.forEach(this.addExtensionStats.bind(this));
|
|
91
91
|
// emit new attachments?
|
|
92
92
|
this.attachments = sample.attachments;
|
|
93
93
|
this.calculatedScore.value = sample.score;
|
|
@@ -135,11 +135,7 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
135
135
|
break;
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
-
this.call.observer.
|
|
139
|
-
call: this.call,
|
|
140
|
-
client: this,
|
|
141
|
-
data: event,
|
|
142
|
-
});
|
|
138
|
+
this.call.observer.emit('client-event', this, event);
|
|
143
139
|
}
|
|
144
140
|
processMetadata(metadata) {
|
|
145
141
|
switch (metadata.type) {
|
|
@@ -160,25 +156,14 @@ class ObservedClient extends events_1.EventEmitter {
|
|
|
160
156
|
break;
|
|
161
157
|
}
|
|
162
158
|
}
|
|
163
|
-
this.call.observer.
|
|
164
|
-
call: this.call,
|
|
165
|
-
client: this,
|
|
166
|
-
data: metadata,
|
|
167
|
-
});
|
|
159
|
+
this.call.observer.emit('metadata-received', this, metadata);
|
|
168
160
|
}
|
|
169
|
-
|
|
170
|
-
this.
|
|
171
|
-
|
|
172
|
-
client: this,
|
|
173
|
-
data: issue,
|
|
174
|
-
});
|
|
161
|
+
addIssue(issue) {
|
|
162
|
+
this.emit('issue', issue);
|
|
163
|
+
this.call.observer.emit('issue-received', this, issue);
|
|
175
164
|
}
|
|
176
|
-
|
|
177
|
-
this.call.observer.
|
|
178
|
-
call: this.call,
|
|
179
|
-
client: this,
|
|
180
|
-
data: stats,
|
|
181
|
-
});
|
|
165
|
+
addExtensionStats(stats) {
|
|
166
|
+
this.call.observer.emit('extension-stats-received', this, stats);
|
|
182
167
|
}
|
|
183
168
|
_updatePeerConnection(sample) {
|
|
184
169
|
let observedPeerConnection = this.observedPeerConnections.get(sample.peerConnectionId);
|
package/lib/Observer.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { Middleware, MiddlewareProcessor } from './common/Middleware';
|
|
3
2
|
import { ObservedCall, ObservedCallSettings } from './ObservedCall';
|
|
4
3
|
import { EventEmitter } from 'events';
|
|
5
4
|
import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat } from './schema/ClientSample';
|
|
6
5
|
import { ObservedClient } from './ObservedClient';
|
|
7
6
|
export type ObserverEvents = {
|
|
7
|
+
'client-event': [ObservedClient, ClientEvent];
|
|
8
|
+
'call-updated': [ObservedCall];
|
|
9
|
+
'issue-received': [ObservedClient, ClientIssue];
|
|
10
|
+
'metadata-received': [ObservedClient, ClientMetaData];
|
|
11
|
+
'extension-stats-received': [ObservedClient, ExtensionStat];
|
|
8
12
|
'newcall': [ObservedCall];
|
|
9
13
|
'close': [];
|
|
10
14
|
};
|
|
@@ -23,25 +27,11 @@ export type ObserverSummary = {
|
|
|
23
27
|
rttlt50: number;
|
|
24
28
|
};
|
|
25
29
|
export declare class Observer extends EventEmitter {
|
|
26
|
-
readonly processors: {
|
|
27
|
-
events: MiddlewareProcessor<ProcessorInputContext<ClientEvent>>;
|
|
28
|
-
metaData: MiddlewareProcessor<ProcessorInputContext<ClientMetaData>>;
|
|
29
|
-
issues: MiddlewareProcessor<ProcessorInputContext<ClientIssue>>;
|
|
30
|
-
extensionStats: MiddlewareProcessor<ProcessorInputContext<ExtensionStat>>;
|
|
31
|
-
};
|
|
32
30
|
readonly observedCalls: Map<string, ObservedCall<Record<string, unknown>>>;
|
|
33
31
|
closed: boolean;
|
|
34
32
|
constructor();
|
|
35
33
|
getObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(callId: string): ObservedCall<T> | undefined;
|
|
36
34
|
createObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(settings: ObservedCallSettings<T>): ObservedCall<T>;
|
|
37
|
-
addClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer;
|
|
38
|
-
removeClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer;
|
|
39
|
-
addClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer;
|
|
40
|
-
removeClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer;
|
|
41
|
-
addClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer;
|
|
42
|
-
removeClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer;
|
|
43
|
-
addExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer;
|
|
44
|
-
removeExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer;
|
|
45
35
|
close(): void;
|
|
46
36
|
}
|
|
47
37
|
//# 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,
|
|
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,MAAM,uBAAuB,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,MAAM,cAAc,GAAG;IAC5B,cAAc,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC9C,cAAc,EAAE,CAAC,YAAY,CAAC,CAAC;IAC/B,gBAAgB,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAChD,mBAAmB,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACtD,0BAA0B,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC5D,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,EAAE,EAAE,CAAC;CACZ,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACtC,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC;CACR,CAAA;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ;IAChC,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACnG,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACpG,IAAI,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACrG,IAAI,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACpF;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,qBAAa,QAAS,SAAQ,YAAY;IACzC,SAAgB,aAAa,qDAAmC;IACzD,MAAM,UAAS;;IAQf,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS;IAMzH,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpF,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,YAAY,CAAC,CAAC,CAAC;IAoBX,KAAK;CAUZ"}
|
package/lib/Observer.js
CHANGED
|
@@ -2,17 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Observer = void 0;
|
|
4
4
|
const logger_1 = require("./common/logger");
|
|
5
|
-
const Middleware_1 = require("./common/Middleware");
|
|
6
5
|
const ObservedCall_1 = require("./ObservedCall");
|
|
7
6
|
const events_1 = require("events");
|
|
8
7
|
const logger = (0, logger_1.createLogger)('Observer');
|
|
9
8
|
class Observer extends events_1.EventEmitter {
|
|
10
|
-
processors = {
|
|
11
|
-
events: new Middleware_1.MiddlewareProcessor(),
|
|
12
|
-
metaData: new Middleware_1.MiddlewareProcessor(),
|
|
13
|
-
issues: new Middleware_1.MiddlewareProcessor(),
|
|
14
|
-
extensionStats: new Middleware_1.MiddlewareProcessor(),
|
|
15
|
-
};
|
|
16
9
|
observedCalls = new Map();
|
|
17
10
|
closed = false;
|
|
18
11
|
constructor() {
|
|
@@ -38,38 +31,6 @@ class Observer extends events_1.EventEmitter {
|
|
|
38
31
|
this.emit('newcall', observedCall);
|
|
39
32
|
return observedCall;
|
|
40
33
|
}
|
|
41
|
-
addClientEventMiddleware(...middlewares) {
|
|
42
|
-
this.processors.events.addMiddleware(...middlewares);
|
|
43
|
-
return this;
|
|
44
|
-
}
|
|
45
|
-
removeClientEventMiddleware(...middlewares) {
|
|
46
|
-
this.processors.events.removeMiddleware(...middlewares);
|
|
47
|
-
return this;
|
|
48
|
-
}
|
|
49
|
-
addClientMetaDataMiddleware(...middlewares) {
|
|
50
|
-
this.processors.metaData.addMiddleware(...middlewares);
|
|
51
|
-
return this;
|
|
52
|
-
}
|
|
53
|
-
removeClientMetaDataMiddleware(...middlewares) {
|
|
54
|
-
this.processors.metaData.removeMiddleware(...middlewares);
|
|
55
|
-
return this;
|
|
56
|
-
}
|
|
57
|
-
addClientIssueMiddleware(...middlewares) {
|
|
58
|
-
this.processors.issues.addMiddleware(...middlewares);
|
|
59
|
-
return this;
|
|
60
|
-
}
|
|
61
|
-
removeClientIssueMiddleware(...middlewares) {
|
|
62
|
-
this.processors.issues.removeMiddleware(...middlewares);
|
|
63
|
-
return this;
|
|
64
|
-
}
|
|
65
|
-
addExtensionStatMiddleware(...middlewares) {
|
|
66
|
-
this.processors.extensionStats.addMiddleware(...middlewares);
|
|
67
|
-
return this;
|
|
68
|
-
}
|
|
69
|
-
removeExtensionStatMiddleware(...middlewares) {
|
|
70
|
-
this.processors.extensionStats.removeMiddleware(...middlewares);
|
|
71
|
-
return this;
|
|
72
|
-
}
|
|
73
34
|
close() {
|
|
74
35
|
if (this.closed) {
|
|
75
36
|
return logger.debug('Attempted to close twice');
|
package/lib/index.d.ts
CHANGED
|
@@ -18,8 +18,9 @@ export { ObservedIceCandidatePair } from './ObservedIceCandidatePair';
|
|
|
18
18
|
export { ObservedIceCandidate } from './ObservedIceCandidate';
|
|
19
19
|
export { ObservedIceTransport } from './ObservedIceTransport';
|
|
20
20
|
export { ObservedPeerConnectionTransport } from './ObservedPeerConnectionTransport';
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
21
|
+
export type { ClientEventTypes } from './schema/ClientEventTypes';
|
|
22
|
+
export type { ClientMetaTypes } from './schema/ClientMetaTypes';
|
|
23
|
+
export type { ClientSample } from './schema/ClientSample';
|
|
24
|
+
export { ScoreCalculator } from './scores/ScoreCalculator';
|
|
24
25
|
export { Middleware } from './common/Middleware';
|
|
25
26
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ObservedPeerConnectionTransport = exports.ObservedIceTransport = exports.ObservedIceCandidate = exports.ObservedIceCandidatePair = exports.ObservedRemoteOutboundRtp = exports.ObservedRemoteInboundRtp = exports.ObservedOutboundRtp = exports.ObservedInboundRtp = exports.ObservedDataChannel = exports.ObservedCertificate = exports.ObservedCodec = exports.ObservedMediaPlayout = exports.ObservedMediaSource = exports.ObservedPeerConnection = exports.ObservedClient = exports.ObservedOutboundTrack = exports.ObservedInboundTrack = exports.ObservedCall = exports.Observer = void 0;
|
|
4
4
|
var Observer_1 = require("./Observer");
|
|
5
5
|
Object.defineProperty(exports, "Observer", { enumerable: true, get: function () { return Observer_1.Observer; } });
|
|
6
6
|
var ObservedCall_1 = require("./ObservedCall");
|
|
@@ -39,7 +39,3 @@ var ObservedIceTransport_1 = require("./ObservedIceTransport");
|
|
|
39
39
|
Object.defineProperty(exports, "ObservedIceTransport", { enumerable: true, get: function () { return ObservedIceTransport_1.ObservedIceTransport; } });
|
|
40
40
|
var ObservedPeerConnectionTransport_1 = require("./ObservedPeerConnectionTransport");
|
|
41
41
|
Object.defineProperty(exports, "ObservedPeerConnectionTransport", { enumerable: true, get: function () { return ObservedPeerConnectionTransport_1.ObservedPeerConnectionTransport; } });
|
|
42
|
-
var ClientEventTypes_1 = require("./schema/ClientEventTypes");
|
|
43
|
-
Object.defineProperty(exports, "ClientEventType", { enumerable: true, get: function () { return ClientEventTypes_1.ClientEventTypes; } });
|
|
44
|
-
var ClientMetaTypes_1 = require("./schema/ClientMetaTypes");
|
|
45
|
-
Object.defineProperty(exports, "ClientMetaType", { enumerable: true, get: function () { return ClientMetaTypes_1.ClientMetaTypes; } });
|
package/package.json
CHANGED
package/src/ObservedClient.ts
CHANGED
|
@@ -27,6 +27,8 @@ export type ObservedClientEvents = {
|
|
|
27
27
|
];
|
|
28
28
|
close: [];
|
|
29
29
|
joined: [];
|
|
30
|
+
issue: [ClientIssue];
|
|
31
|
+
metaData: [ClientMetaData];
|
|
30
32
|
rejoined: [timestamp: number];
|
|
31
33
|
left: [];
|
|
32
34
|
usingturn: [boolean];
|
|
@@ -132,9 +134,9 @@ export class ObservedClient<AppData extends Record<string, unknown> = Record<str
|
|
|
132
134
|
|
|
133
135
|
sample.clientEvents?.forEach(this._processClientEvent.bind(this));
|
|
134
136
|
sample.clientMetaItems?.forEach(this.processMetadata.bind(this));
|
|
135
|
-
sample.clientIssues?.forEach(this.
|
|
137
|
+
sample.clientIssues?.forEach(this.addIssue.bind(this));
|
|
136
138
|
sample.peerConnections?.forEach(this._updatePeerConnection.bind(this));
|
|
137
|
-
sample.extensionStats?.forEach(this.
|
|
139
|
+
sample.extensionStats?.forEach(this.addExtensionStats.bind(this));
|
|
138
140
|
|
|
139
141
|
// emit new attachments?
|
|
140
142
|
this.attachments = sample.attachments;
|
|
@@ -185,11 +187,7 @@ export class ObservedClient<AppData extends Record<string, unknown> = Record<str
|
|
|
185
187
|
}
|
|
186
188
|
}
|
|
187
189
|
|
|
188
|
-
this.call.observer.
|
|
189
|
-
call: this.call,
|
|
190
|
-
client: this,
|
|
191
|
-
data: event,
|
|
192
|
-
});
|
|
190
|
+
this.call.observer.emit('client-event', this, event);
|
|
193
191
|
}
|
|
194
192
|
|
|
195
193
|
public processMetadata(metadata: ClientMetaData) {
|
|
@@ -212,27 +210,16 @@ export class ObservedClient<AppData extends Record<string, unknown> = Record<str
|
|
|
212
210
|
}
|
|
213
211
|
}
|
|
214
212
|
|
|
215
|
-
this.call.observer.
|
|
216
|
-
call: this.call,
|
|
217
|
-
client: this,
|
|
218
|
-
data: metadata,
|
|
219
|
-
});
|
|
213
|
+
this.call.observer.emit('metadata-received', this, metadata);
|
|
220
214
|
}
|
|
221
215
|
|
|
222
|
-
public
|
|
223
|
-
this.
|
|
224
|
-
|
|
225
|
-
client: this,
|
|
226
|
-
data: issue,
|
|
227
|
-
});
|
|
216
|
+
public addIssue(issue: ClientIssue) {
|
|
217
|
+
this.emit('issue', issue);
|
|
218
|
+
this.call.observer.emit('issue-received', this, issue);
|
|
228
219
|
}
|
|
229
220
|
|
|
230
|
-
public
|
|
231
|
-
this.call.observer.
|
|
232
|
-
call: this.call,
|
|
233
|
-
client: this,
|
|
234
|
-
data: stats,
|
|
235
|
-
});
|
|
221
|
+
public addExtensionStats(stats: ExtensionStat) {
|
|
222
|
+
this.call.observer.emit('extension-stats-received', this, stats);
|
|
236
223
|
}
|
|
237
224
|
|
|
238
225
|
private _updatePeerConnection(sample: PeerConnectionSample) {
|
package/src/Observer.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createLogger } from './common/logger';
|
|
2
|
-
import { Middleware, MiddlewareProcessor } from './common/Middleware';
|
|
3
2
|
import { ObservedCall, ObservedCallSettings } from './ObservedCall';
|
|
4
3
|
import { EventEmitter } from 'events';
|
|
5
4
|
import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat } from './schema/ClientSample';
|
|
@@ -8,6 +7,11 @@ import { ObservedClient } from './ObservedClient';
|
|
|
8
7
|
const logger = createLogger('Observer');
|
|
9
8
|
|
|
10
9
|
export type ObserverEvents = {
|
|
10
|
+
'client-event': [ObservedClient, ClientEvent];
|
|
11
|
+
'call-updated': [ObservedCall],
|
|
12
|
+
'issue-received': [ObservedClient, ClientIssue],
|
|
13
|
+
'metadata-received': [ObservedClient, ClientMetaData],
|
|
14
|
+
'extension-stats-received': [ObservedClient, ExtensionStat],
|
|
11
15
|
'newcall': [ObservedCall],
|
|
12
16
|
'close': [],
|
|
13
17
|
}
|
|
@@ -30,13 +34,6 @@ export type ObserverSummary = {
|
|
|
30
34
|
}
|
|
31
35
|
|
|
32
36
|
export class Observer extends EventEmitter {
|
|
33
|
-
public readonly processors = {
|
|
34
|
-
events: new MiddlewareProcessor<ProcessorInputContext<ClientEvent>>(),
|
|
35
|
-
metaData: new MiddlewareProcessor<ProcessorInputContext<ClientMetaData>>(),
|
|
36
|
-
issues: new MiddlewareProcessor<ProcessorInputContext<ClientIssue>>(),
|
|
37
|
-
extensionStats: new MiddlewareProcessor<ProcessorInputContext<ExtensionStat>>(),
|
|
38
|
-
};
|
|
39
|
-
|
|
40
37
|
public readonly observedCalls = new Map<string, ObservedCall>();
|
|
41
38
|
public closed = false;
|
|
42
39
|
|
|
@@ -74,62 +71,6 @@ export class Observer extends EventEmitter {
|
|
|
74
71
|
return observedCall;
|
|
75
72
|
}
|
|
76
73
|
|
|
77
|
-
public addClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer {
|
|
78
|
-
|
|
79
|
-
this.processors.events.addMiddleware(...middlewares);
|
|
80
|
-
|
|
81
|
-
return this;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
public removeClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer {
|
|
85
|
-
|
|
86
|
-
this.processors.events.removeMiddleware(...middlewares);
|
|
87
|
-
|
|
88
|
-
return this;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
public addClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer {
|
|
92
|
-
|
|
93
|
-
this.processors.metaData.addMiddleware(...middlewares);
|
|
94
|
-
|
|
95
|
-
return this;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
public removeClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer {
|
|
99
|
-
|
|
100
|
-
this.processors.metaData.removeMiddleware(...middlewares);
|
|
101
|
-
|
|
102
|
-
return this;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
public addClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer {
|
|
106
|
-
|
|
107
|
-
this.processors.issues.addMiddleware(...middlewares);
|
|
108
|
-
|
|
109
|
-
return this;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
public removeClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer {
|
|
113
|
-
|
|
114
|
-
this.processors.issues.removeMiddleware(...middlewares);
|
|
115
|
-
|
|
116
|
-
return this;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
public addExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer {
|
|
120
|
-
|
|
121
|
-
this.processors.extensionStats.addMiddleware(...middlewares);
|
|
122
|
-
|
|
123
|
-
return this;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
public removeExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer {
|
|
127
|
-
|
|
128
|
-
this.processors.extensionStats.removeMiddleware(...middlewares);
|
|
129
|
-
|
|
130
|
-
return this;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
74
|
public close() {
|
|
134
75
|
if (this.closed) {
|
|
135
76
|
return logger.debug('Attempted to close twice');
|
package/src/index.ts
CHANGED
|
@@ -19,8 +19,9 @@ export { ObservedIceCandidatePair } from './ObservedIceCandidatePair';
|
|
|
19
19
|
export { ObservedIceCandidate } from './ObservedIceCandidate';
|
|
20
20
|
export { ObservedIceTransport } from './ObservedIceTransport';
|
|
21
21
|
export { ObservedPeerConnectionTransport } from './ObservedPeerConnectionTransport';
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export {
|
|
22
|
+
export type { ClientEventTypes } from './schema/ClientEventTypes';
|
|
23
|
+
export type { ClientMetaTypes } from './schema/ClientMetaTypes';
|
|
24
|
+
export type { ClientSample } from './schema/ClientSample';
|
|
25
|
+
export { ScoreCalculator } from './scores/ScoreCalculator';
|
|
25
26
|
|
|
26
27
|
export { Middleware } from './common/Middleware';
|