@observertc/observer-js 0.9.13-beta → 0.9.14-beta
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/Evaluator.d.ts +2 -1
- package/lib/Evaluator.d.ts.map +1 -1
- package/lib/Evaluator.js +18 -7
- package/lib/Observer.d.ts +1 -0
- package/lib/Observer.d.ts.map +1 -1
- package/lib/Observer.js +11 -0
- package/lib/sources/Sources.d.ts +5 -3
- package/lib/sources/Sources.d.ts.map +1 -1
- package/lib/sources/Sources.js +13 -1
- package/package.json +1 -1
- package/src/Evaluator.ts +27 -16
- package/src/Observer.ts +10 -0
- package/src/sources/Sources.ts +19 -3
package/lib/Evaluator.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { ObservedClientSourceConfig } from './sources/ObservedClientSource';
|
|
|
5
5
|
import { SourcesEvents } from './sources/Sources';
|
|
6
6
|
import { StorageProvider } from './storages/StorageProvider';
|
|
7
7
|
export type EvaluatorEvents = {
|
|
8
|
-
ready: undefined;
|
|
8
|
+
ready: Error | undefined;
|
|
9
9
|
};
|
|
10
10
|
export type EvaluatorConfig = {
|
|
11
11
|
fetchSamples: boolean;
|
|
@@ -32,6 +32,7 @@ export declare class Evaluator {
|
|
|
32
32
|
addClosedClientSource(clientSource: ObservedClientSourceConfig): void;
|
|
33
33
|
addCreatedClientSource(clientSource: ObservedClientSourceConfig): void;
|
|
34
34
|
on<K extends keyof EvaluatorEvents>(event: K, listener: (data: EvaluatorEvents[K]) => void): this;
|
|
35
|
+
once<K extends keyof EvaluatorEvents>(event: K, listener: (data: EvaluatorEvents[K]) => void): this;
|
|
35
36
|
off<K extends keyof EvaluatorEvents>(event: K, listener: (data: EvaluatorEvents[K]) => void): this;
|
|
36
37
|
private _emit;
|
|
37
38
|
addObservedSamples(samples: SourcesEvents['observed-samples']): void;
|
package/lib/Evaluator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Evaluator.d.ts","sourceRoot":"","sources":["../src/Evaluator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAuB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAW7D,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Evaluator.d.ts","sourceRoot":"","sources":["../src/Evaluator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAuB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAW7D,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAErF,qBAAa,SAAS;aAeJ,MAAM,EAAE,eAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAjBnC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,YAAY,CAAoC;IAExD,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,mBAAmB,CAA6D;IACxF,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,qBAAqB,CAAgC;IAC7D,OAAO,CAAC,gBAAgB,CAA8B;gBAKrC,MAAM,EAAE,eAAe,EACtB,cAAc,EAAE,SAAS,EACzB,gBAAgB,EAAE,eAAe,EACjC,iBAAiB,EAAE,gBAAgB;IAe9C,UAAU,CAAC,OAAO,EAAE,gBAAgB;IASpC,aAAa,CAAC,OAAO,EAAE,gBAAgB;IASvC,qBAAqB,CAAC,YAAY,EAAE,0BAA0B;IAQ9D,sBAAsB,CAAC,YAAY,EAAE,0BAA0B;IAO/D,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKjG,IAAI,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKnG,GAAG,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKzG,OAAO,CAAC,KAAK;IAIN,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI;YAoD7D,KAAK;IAuBnB,IAAW,cAAc,IAAI,MAAM,CAElC;YAEa,QAAQ;CA2BtB"}
|
package/lib/Evaluator.js
CHANGED
|
@@ -59,6 +59,10 @@ class Evaluator {
|
|
|
59
59
|
this._emitter.addListener(event, listener);
|
|
60
60
|
return this;
|
|
61
61
|
}
|
|
62
|
+
once(event, listener) {
|
|
63
|
+
this._emitter.once(event, listener);
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
62
66
|
off(event, listener) {
|
|
63
67
|
this._emitter.removeListener(event, listener);
|
|
64
68
|
return this;
|
|
@@ -140,14 +144,21 @@ class Evaluator {
|
|
|
140
144
|
return this._evaluations.size;
|
|
141
145
|
}
|
|
142
146
|
async _process(callOperationsContext, evaluatorContext) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
this.
|
|
147
|
+
const process = async () => {
|
|
148
|
+
await this._callSemaphore.acquire();
|
|
149
|
+
await this._callProcessor.use(callOperationsContext).finally(() => {
|
|
150
|
+
this._callSemaphore.release();
|
|
151
|
+
});
|
|
152
|
+
const transactionContext = await (0, TransactionContext_1.createTransactionContext)(evaluatorContext, this._storageProvider, evaluatorContext.observedCalls, evaluatorContext.observedSfus);
|
|
153
|
+
await this._transactionProcessor.use(transactionContext);
|
|
154
|
+
await this._customProcessor.use(evaluatorContext);
|
|
155
|
+
};
|
|
156
|
+
await process().then(() => {
|
|
157
|
+
this._emit('ready', undefined);
|
|
158
|
+
}).catch(err => {
|
|
159
|
+
logger.warn(`Error occurred while evaluating samples`, err);
|
|
160
|
+
this._emit('ready', err);
|
|
146
161
|
});
|
|
147
|
-
const transactionContext = await (0, TransactionContext_1.createTransactionContext)(evaluatorContext, this._storageProvider, evaluatorContext.observedCalls, evaluatorContext.observedSfus);
|
|
148
|
-
await this._transactionProcessor.use(transactionContext);
|
|
149
|
-
await this._customProcessor.use(evaluatorContext);
|
|
150
|
-
this._emit('ready', undefined);
|
|
151
162
|
}
|
|
152
163
|
}
|
|
153
164
|
exports.Evaluator = Evaluator;
|
package/lib/Observer.d.ts
CHANGED
|
@@ -47,6 +47,7 @@ export declare class Observer {
|
|
|
47
47
|
createCallSource(config: PartialBy<ObservedCallSourceConfig, 'serviceId' | 'mediaUnitId'>): ObservedCallSource;
|
|
48
48
|
createClientSource(config: PartialBy<ObservedClientSourceConfig, 'serviceId' | 'mediaUnitId' | 'joined'>): ObservedClientSource;
|
|
49
49
|
createSfuSource(config: PartialBy<ObservedSfuSourceConfig, 'serviceId' | 'mediaUnitId' | 'joined'>): ObservedSfuSource;
|
|
50
|
+
evaluate(): Promise<void>;
|
|
50
51
|
get reports(): ObserverReportsEmitter;
|
|
51
52
|
addEvaluators(...processes: EvaluatorProcess[]): void;
|
|
52
53
|
removeEvaluators(...processes: EvaluatorProcess[]): void;
|
package/lib/Observer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAW,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAA+B,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAa,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAiC,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAgB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAIzF,MAAM,MAAM,cAAc,GAAG;IAC5B;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAE/B,QAAQ,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,qBAAa,QAAQ;aA+BH,MAAM,EAAE,cAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;WAhCf,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,QAAQ;IAyBvE,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAS;gBAEP,MAAM,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,iBAAiB;IAqBzC,gBAAgB,CACtB,MAAM,EAAE,SAAS,CAAC,wBAAwB,EAAE,WAAW,GAAG,aAAa,CAAC,GACtE,kBAAkB;IA0Cd,kBAAkB,CACxB,MAAM,EAAE,SAAS,CAAC,0BAA0B,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC,GACnF,oBAAoB;IAehB,eAAe,CACrB,MAAM,EAAE,SAAS,CAAC,uBAAuB,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC,GAChF,iBAAiB;
|
|
1
|
+
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAW,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAA+B,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAa,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAiC,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAgB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAIzF,MAAM,MAAM,cAAc,GAAG;IAC5B;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAE/B,QAAQ,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,qBAAa,QAAQ;aA+BH,MAAM,EAAE,cAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;WAhCf,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,QAAQ;IAyBvE,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAS;gBAEP,MAAM,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,iBAAiB;IAqBzC,gBAAgB,CACtB,MAAM,EAAE,SAAS,CAAC,wBAAwB,EAAE,WAAW,GAAG,aAAa,CAAC,GACtE,kBAAkB;IA0Cd,kBAAkB,CACxB,MAAM,EAAE,SAAS,CAAC,0BAA0B,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC,GACnF,oBAAoB;IAehB,eAAe,CACrB,MAAM,EAAE,SAAS,CAAC,uBAAuB,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC,GAChF,iBAAiB;IAeP,QAAQ;IAUrB,IAAW,OAAO,IAAI,sBAAsB,CAE3C;IAEM,aAAa,CAAC,GAAG,SAAS,EAAE,gBAAgB,EAAE;IAS9C,gBAAgB,CAAC,GAAG,SAAS,EAAE,gBAAgB,EAAE;IASjD,QAAQ,CAAC,GAAG,SAAS,EAAE,mBAAmB,EAAE;IAS5C,WAAW,CAAC,GAAG,SAAS,EAAE,mBAAmB,EAAE;IAS/C,KAAK,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAKrD,IAAI,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAKnD,aAAa,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAKrE,iBAAiB,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAK7E,kBAAkB,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAK/E,OAAO,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAKzD,eAAe,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAKnE,QAAQ,CAAC,OAAO,EAAE,MAAM;IAUxB,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;IAS7C,aAAa,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAKrE,cAAc,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAKvE,eAAe,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAKnE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IAKzD,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAKjF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;IAKtD,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAK9E,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;IAKjF,mBAAmB,CAC/B,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC/B,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAKvC,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAK7F,uBAAuB,CACnC,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAK3C,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAKhG,wBAAwB,CACpC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,GACpC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAK5C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;IAK/D,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAKtF,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;IAKvF,qBAAqB,CACjC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAKzC,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;IAKjF,mBAAmB,CAC/B,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC/B,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAKvC,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC;IAKpF,oBAAoB,CAChC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,GAChC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAKxC,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;IAKpF,oBAAoB,CAChC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC9B,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAKtD,IAAW,MAAM,YAEhB;IAEM,KAAK;CAQZ"}
|
package/lib/Observer.js
CHANGED
|
@@ -123,6 +123,17 @@ class Observer {
|
|
|
123
123
|
joined,
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
|
+
async evaluate() {
|
|
127
|
+
return new Promise((resolve, reject) => {
|
|
128
|
+
this._evaluator.once('ready', err => {
|
|
129
|
+
if (err)
|
|
130
|
+
reject(err);
|
|
131
|
+
else
|
|
132
|
+
resolve();
|
|
133
|
+
});
|
|
134
|
+
this._sources.emitSamples();
|
|
135
|
+
});
|
|
136
|
+
}
|
|
126
137
|
get reports() {
|
|
127
138
|
return this._sink;
|
|
128
139
|
}
|
package/lib/sources/Sources.d.ts
CHANGED
|
@@ -20,11 +20,12 @@ export type SourcesEvents = {
|
|
|
20
20
|
};
|
|
21
21
|
export declare class Sources {
|
|
22
22
|
readonly config: SourcesConfig;
|
|
23
|
-
private
|
|
24
|
-
private
|
|
23
|
+
private readonly _warnFlags;
|
|
24
|
+
private readonly _clientSources;
|
|
25
|
+
private readonly _sfuSources;
|
|
26
|
+
private readonly _emitter;
|
|
25
27
|
private _observedCallsBuilder;
|
|
26
28
|
private _observedSfusBuilder;
|
|
27
|
-
private _emitter;
|
|
28
29
|
private _timer?;
|
|
29
30
|
private _numberOfSamples;
|
|
30
31
|
constructor(config: SourcesConfig);
|
|
@@ -34,6 +35,7 @@ export declare class Sources {
|
|
|
34
35
|
createClientSource(config: PartialBy<ObservedClientSourceConfig, 'joined'>): ObservedClientSource;
|
|
35
36
|
createSfuSource(config: PartialBy<ObservedSfuSourceConfig, 'joined'>): ObservedSfuSource;
|
|
36
37
|
private _incrementSamples;
|
|
38
|
+
emitSamples(): void;
|
|
37
39
|
private _emitSamples;
|
|
38
40
|
private _resetTimer;
|
|
39
41
|
close(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sources.d.ts","sourceRoot":"","sources":["../../src/sources/Sources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAG1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAuB,MAAM,yBAAyB,CAAC;AAI5E,MAAM,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,kBAAkB,EAAE;QACnB,aAAa,EAAE,aAAa,CAAC;QAC7B,YAAY,EAAE,YAAY,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,uBAAuB,EAAE,0BAA0B,CAAC;IACpD,qBAAqB,EAAE,0BAA0B,CAAC;IAClD,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,kBAAkB,EAAE,uBAAuB,CAAC;CAC5C,CAAC;AAEF,qBAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"Sources.d.ts","sourceRoot":"","sources":["../../src/sources/Sources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAG1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAuB,MAAM,yBAAyB,CAAC;AAI5E,MAAM,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,kBAAkB,EAAE;QACnB,aAAa,EAAE,aAAa,CAAC;QAC7B,YAAY,EAAE,YAAY,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,uBAAuB,EAAE,0BAA0B,CAAC;IACpD,qBAAqB,EAAE,0BAA0B,CAAC;IAClD,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,kBAAkB,EAAE,uBAAuB,CAAC;CAC5C,CAAC;AAEF,qBAAa,OAAO;aAYgB,MAAM,EAAE,aAAa;IAVxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2C;IAC1E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAE/C,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,MAAM,CAAC,CAAgC;IAC/C,OAAO,CAAC,gBAAgB,CAAK;gBAEM,MAAM,EAAE,aAAa;IAEjD,EAAE,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAK7F,GAAG,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKrG,OAAO,CAAC,KAAK;IAIN,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,0BAA0B,EAAE,QAAQ,CAAC,GAAG,oBAAoB;IAkDjG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GAAG,iBAAiB;IA6C/F,OAAO,CAAC,iBAAiB;IAQlB,WAAW;IAalB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,WAAW;IAaZ,KAAK;CAQZ"}
|
package/lib/sources/Sources.js
CHANGED
|
@@ -9,11 +9,12 @@ const logger = (0, logger_1.createLogger)('Sources');
|
|
|
9
9
|
class Sources {
|
|
10
10
|
constructor(config) {
|
|
11
11
|
this.config = config;
|
|
12
|
+
this._warnFlags = { autoEmitButEmitSamplesInvoked: false };
|
|
12
13
|
this._clientSources = new Map();
|
|
13
14
|
this._sfuSources = new Map();
|
|
15
|
+
this._emitter = new events_1.EventEmitter();
|
|
14
16
|
this._observedCallsBuilder = new ObservedCalls_1.ObservedCallsBuilder();
|
|
15
17
|
this._observedSfusBuilder = new ObservedSfus_1.ObservedSfusBuilder();
|
|
16
|
-
this._emitter = new events_1.EventEmitter();
|
|
17
18
|
this._numberOfSamples = 0;
|
|
18
19
|
}
|
|
19
20
|
on(event, listener) {
|
|
@@ -125,6 +126,17 @@ class Sources {
|
|
|
125
126
|
}
|
|
126
127
|
this._emitSamples();
|
|
127
128
|
}
|
|
129
|
+
emitSamples() {
|
|
130
|
+
if (0 < this.config.maxSamples || 0 < this.config.maxTimeInMs) {
|
|
131
|
+
if (!this._warnFlags.autoEmitButEmitSamplesInvoked) {
|
|
132
|
+
logger.warn(`Emitting Samples is called explicitly,
|
|
133
|
+
but samples are emitted automatically because of configuration
|
|
134
|
+
(maxSamples: ${this.config.maxSamples}, maxTImeInMs: ${this.config.maxTimeInMs})`);
|
|
135
|
+
this._warnFlags.autoEmitButEmitSamplesInvoked = true;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
this._emitSamples();
|
|
139
|
+
}
|
|
128
140
|
_emitSamples() {
|
|
129
141
|
this._resetTimer();
|
|
130
142
|
const observedCalls = this._observedCallsBuilder.build();
|
package/package.json
CHANGED
package/src/Evaluator.ts
CHANGED
|
@@ -16,7 +16,7 @@ import { EventEmitter } from 'events';
|
|
|
16
16
|
const logger = createLogger('Evaluator');
|
|
17
17
|
|
|
18
18
|
export type EvaluatorEvents = {
|
|
19
|
-
ready: undefined;
|
|
19
|
+
ready: Error | undefined;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export type EvaluatorConfig = {
|
|
@@ -98,6 +98,11 @@ export class Evaluator {
|
|
|
98
98
|
return this;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
public once<K extends keyof EvaluatorEvents>(event: K, listener: (data: EvaluatorEvents[K]) => void): this {
|
|
102
|
+
this._emitter.once(event, listener);
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
|
|
101
106
|
public off<K extends keyof EvaluatorEvents>(event: K, listener: (data: EvaluatorEvents[K]) => void): this {
|
|
102
107
|
this._emitter.removeListener(event, listener);
|
|
103
108
|
return this;
|
|
@@ -190,21 +195,27 @@ export class Evaluator {
|
|
|
190
195
|
callOperationsContext: CallOperationsContext,
|
|
191
196
|
evaluatorContext: EvaluatorContext
|
|
192
197
|
): Promise<void> {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
this.
|
|
198
|
+
const process = async () => {
|
|
199
|
+
await this._callSemaphore.acquire();
|
|
200
|
+
await this._callProcessor.use(callOperationsContext).finally(() => {
|
|
201
|
+
this._callSemaphore.release();
|
|
202
|
+
});
|
|
203
|
+
const transactionContext = await createTransactionContext(
|
|
204
|
+
evaluatorContext,
|
|
205
|
+
this._storageProvider,
|
|
206
|
+
evaluatorContext.observedCalls,
|
|
207
|
+
evaluatorContext.observedSfus,
|
|
208
|
+
);
|
|
209
|
+
|
|
210
|
+
await this._transactionProcessor.use(transactionContext);
|
|
211
|
+
|
|
212
|
+
await this._customProcessor.use(evaluatorContext);
|
|
213
|
+
};
|
|
214
|
+
await process().then(() => {
|
|
215
|
+
this._emit('ready', undefined);
|
|
216
|
+
}).catch(err => {
|
|
217
|
+
logger.warn(`Error occurred while evaluating samples`, err);
|
|
218
|
+
this._emit('ready', err);
|
|
196
219
|
});
|
|
197
|
-
const transactionContext = await createTransactionContext(
|
|
198
|
-
evaluatorContext,
|
|
199
|
-
this._storageProvider,
|
|
200
|
-
evaluatorContext.observedCalls,
|
|
201
|
-
evaluatorContext.observedSfus,
|
|
202
|
-
);
|
|
203
|
-
|
|
204
|
-
await this._transactionProcessor.use(transactionContext);
|
|
205
|
-
|
|
206
|
-
await this._customProcessor.use(evaluatorContext);
|
|
207
|
-
|
|
208
|
-
this._emit('ready', undefined);
|
|
209
220
|
}
|
|
210
221
|
}
|
package/src/Observer.ts
CHANGED
|
@@ -173,6 +173,16 @@ export class Observer {
|
|
|
173
173
|
});
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
+
public async evaluate() {
|
|
177
|
+
return new Promise<void>((resolve, reject) => {
|
|
178
|
+
this._evaluator.once('ready', err => {
|
|
179
|
+
if (err) reject(err);
|
|
180
|
+
else resolve();
|
|
181
|
+
});
|
|
182
|
+
this._sources.emitSamples();
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
|
|
176
186
|
public get reports(): ObserverReportsEmitter {
|
|
177
187
|
return this._sink;
|
|
178
188
|
}
|
package/src/sources/Sources.ts
CHANGED
|
@@ -28,11 +28,14 @@ export type SourcesEvents = {
|
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
export class Sources {
|
|
31
|
-
|
|
32
|
-
private
|
|
31
|
+
|
|
32
|
+
private readonly _warnFlags = { autoEmitButEmitSamplesInvoked: false };
|
|
33
|
+
private readonly _clientSources = new Map<string, ObservedClientSource>();
|
|
34
|
+
private readonly _sfuSources = new Map<string, ObservedSfuSource>();
|
|
35
|
+
private readonly _emitter = new EventEmitter();
|
|
36
|
+
|
|
33
37
|
private _observedCallsBuilder = new ObservedCallsBuilder();
|
|
34
38
|
private _observedSfusBuilder = new ObservedSfusBuilder();
|
|
35
|
-
private _emitter = new EventEmitter();
|
|
36
39
|
private _timer?: ReturnType<typeof setTimeout>;
|
|
37
40
|
private _numberOfSamples = 0;
|
|
38
41
|
|
|
@@ -155,6 +158,19 @@ export class Sources {
|
|
|
155
158
|
this._emitSamples();
|
|
156
159
|
}
|
|
157
160
|
|
|
161
|
+
public emitSamples() {
|
|
162
|
+
if (0 < this.config.maxSamples || 0 < this.config.maxTimeInMs) {
|
|
163
|
+
if (!this._warnFlags.autoEmitButEmitSamplesInvoked) {
|
|
164
|
+
logger.warn(`Emitting Samples is called explicitly,
|
|
165
|
+
but samples are emitted automatically because of configuration
|
|
166
|
+
(maxSamples: ${this.config.maxSamples}, maxTImeInMs: ${this.config.maxTimeInMs})`
|
|
167
|
+
);
|
|
168
|
+
this._warnFlags.autoEmitButEmitSamplesInvoked = true;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
this._emitSamples();
|
|
172
|
+
}
|
|
173
|
+
|
|
158
174
|
private _emitSamples() {
|
|
159
175
|
this._resetTimer();
|
|
160
176
|
const observedCalls = this._observedCallsBuilder.build();
|