@webex/internal-plugin-metrics 3.12.0-next.8 → 3.12.0-task-refactor.1
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/dist/call-diagnostic/call-diagnostic-metrics-latencies.js +34 -41
- package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js.map +1 -1
- package/dist/call-diagnostic/call-diagnostic-metrics.js +0 -5
- package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -1
- package/dist/call-diagnostic/call-diagnostic-metrics.util.js +4 -39
- package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -1
- package/dist/call-diagnostic/config.js +1 -3
- package/dist/call-diagnostic/config.js.map +1 -1
- package/dist/generic-metrics.js +6 -8
- package/dist/generic-metrics.js.map +1 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +1 -1
- package/dist/metrics.js +1 -1
- package/dist/metrics.types.js.map +1 -1
- package/dist/new-metrics.js +20 -56
- package/dist/new-metrics.js.map +1 -1
- package/dist/types/call-diagnostic/call-diagnostic-metrics-latencies.d.ts +0 -8
- package/dist/types/call-diagnostic/call-diagnostic-metrics.d.ts +20 -34
- package/dist/types/call-diagnostic/call-diagnostic-metrics.util.d.ts +2 -23
- package/dist/types/call-diagnostic/config.d.ts +19 -2
- package/dist/types/config.d.ts +15 -15
- package/dist/types/index.d.ts +1 -2
- package/dist/types/metrics.types.d.ts +2 -2
- package/dist/types/new-metrics.d.ts +0 -12
- package/package.json +11 -11
- package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +44 -89
- package/src/call-diagnostic/call-diagnostic-metrics.ts +0 -6
- package/src/call-diagnostic/call-diagnostic-metrics.util.ts +2 -44
- package/src/call-diagnostic/config.ts +0 -2
- package/src/generic-metrics.ts +6 -6
- package/src/index.ts +0 -2
- package/src/metrics.types.ts +2 -2
- package/src/new-metrics.ts +0 -42
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-batcher.ts +11 -38
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-latencies.ts +301 -227
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.ts +0 -44
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +3 -65
- package/dist/prelogin-metrics.js +0 -106
- package/dist/prelogin-metrics.js.map +0 -1
- package/dist/types/prelogin-metrics.d.ts +0 -47
- package/src/prelogin-metrics.ts +0 -94
- package/test/unit/spec/prelogin-metrics.ts +0 -132
package/src/new-metrics.ts
CHANGED
|
@@ -9,8 +9,6 @@ import CallDiagnosticMetrics from './call-diagnostic/call-diagnostic-metrics';
|
|
|
9
9
|
import BehavioralMetrics from './behavioral-metrics';
|
|
10
10
|
import OperationalMetrics from './operational-metrics';
|
|
11
11
|
import BusinessMetrics from './business-metrics';
|
|
12
|
-
import PreLoginMetrics from './prelogin-metrics';
|
|
13
|
-
import PreLoginMetricsBatcher from './prelogin-metrics-batcher';
|
|
14
12
|
import {
|
|
15
13
|
RecursivePartial,
|
|
16
14
|
MetricEventProduct,
|
|
@@ -47,7 +45,6 @@ class Metrics extends WebexPlugin {
|
|
|
47
45
|
behavioralMetrics: BehavioralMetrics;
|
|
48
46
|
operationalMetrics: OperationalMetrics;
|
|
49
47
|
businessMetrics: BusinessMetrics;
|
|
50
|
-
preLoginMetrics: PreLoginMetrics;
|
|
51
48
|
isReady = false;
|
|
52
49
|
|
|
53
50
|
/**
|
|
@@ -90,13 +87,6 @@ class Metrics extends WebexPlugin {
|
|
|
90
87
|
this.webex.once('ready', () => {
|
|
91
88
|
// @ts-ignore
|
|
92
89
|
this.callDiagnosticMetrics = new CallDiagnosticMetrics({}, {parent: this.webex});
|
|
93
|
-
this.preLoginMetrics = new PreLoginMetrics(
|
|
94
|
-
// @ts-ignore
|
|
95
|
-
new PreLoginMetricsBatcher({}, {parent: this.webex}),
|
|
96
|
-
{},
|
|
97
|
-
// @ts-ignore
|
|
98
|
-
{parent: this.webex}
|
|
99
|
-
);
|
|
100
90
|
this.isReady = true;
|
|
101
91
|
this.setDelaySubmitClientEvents({
|
|
102
92
|
shouldDelay: this.delaySubmitClientEvents,
|
|
@@ -261,38 +251,6 @@ class Metrics extends WebexPlugin {
|
|
|
261
251
|
return this.businessMetrics.submitBusinessEvent({name, payload, table, metadata});
|
|
262
252
|
}
|
|
263
253
|
|
|
264
|
-
/**
|
|
265
|
-
* Call Analyzer: Pre-Login Event
|
|
266
|
-
* @param args
|
|
267
|
-
*/
|
|
268
|
-
submitPreLoginEvent({
|
|
269
|
-
name,
|
|
270
|
-
preLoginId,
|
|
271
|
-
payload,
|
|
272
|
-
metadata,
|
|
273
|
-
}: {
|
|
274
|
-
name: string;
|
|
275
|
-
preLoginId: string;
|
|
276
|
-
payload: EventPayload;
|
|
277
|
-
metadata?: EventPayload;
|
|
278
|
-
}): Promise<void> {
|
|
279
|
-
if (!this.isReady) {
|
|
280
|
-
// @ts-ignore
|
|
281
|
-
this.webex.logger.log(
|
|
282
|
-
`NewMetrics: @submitPreLoginEvent. Attempted to submit before webex.ready: ${name}`
|
|
283
|
-
);
|
|
284
|
-
|
|
285
|
-
return Promise.resolve();
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
return this.preLoginMetrics.submitPreLoginEvent({
|
|
289
|
-
name,
|
|
290
|
-
preLoginId,
|
|
291
|
-
payload,
|
|
292
|
-
metadata,
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
|
|
296
254
|
/**
|
|
297
255
|
* Call Analyzer: Media Quality Event
|
|
298
256
|
* @param args
|
|
@@ -142,7 +142,9 @@ describe('plugin-metrics', () => {
|
|
|
142
142
|
webex.internal.newMetrics.callDiagnosticLatencies.getDiffBetweenTimestamps = sinon
|
|
143
143
|
.stub()
|
|
144
144
|
.returns(10);
|
|
145
|
-
webex.internal.newMetrics.callDiagnosticLatencies.getU2CTime = sinon
|
|
145
|
+
webex.internal.newMetrics.callDiagnosticLatencies.getU2CTime = sinon
|
|
146
|
+
.stub()
|
|
147
|
+
.returns(20);
|
|
146
148
|
webex.internal.newMetrics.callDiagnosticLatencies.getReachabilityClustersReqResp = sinon
|
|
147
149
|
.stub()
|
|
148
150
|
.returns(10);
|
|
@@ -163,7 +165,7 @@ describe('plugin-metrics', () => {
|
|
|
163
165
|
registerWDMDeviceJMT: 10,
|
|
164
166
|
showInterstitialTime: 10,
|
|
165
167
|
getU2CTime: 20,
|
|
166
|
-
getReachabilityClustersReqResp: 10
|
|
168
|
+
getReachabilityClustersReqResp: 10
|
|
167
169
|
},
|
|
168
170
|
});
|
|
169
171
|
assert.lengthOf(
|
|
@@ -187,8 +189,9 @@ describe('plugin-metrics', () => {
|
|
|
187
189
|
webex.internal.newMetrics.callDiagnosticLatencies.getDownloadTimeJMT = sinon
|
|
188
190
|
.stub()
|
|
189
191
|
.returns(100);
|
|
190
|
-
webex.internal.newMetrics.callDiagnosticLatencies.getClickToInterstitialWithUserDelay =
|
|
191
|
-
|
|
192
|
+
webex.internal.newMetrics.callDiagnosticLatencies.getClickToInterstitialWithUserDelay = sinon
|
|
193
|
+
.stub()
|
|
194
|
+
.returns(43);
|
|
192
195
|
webex.internal.newMetrics.callDiagnosticLatencies.getTotalJMTWithUserDelay = sinon
|
|
193
196
|
.stub()
|
|
194
197
|
.returns(64);
|
|
@@ -343,10 +346,7 @@ describe('plugin-metrics', () => {
|
|
|
343
346
|
webex.internal.newMetrics.callDiagnosticLatencies.getInterstitialToJoinOK = sinon
|
|
344
347
|
.stub()
|
|
345
348
|
.returns(7);
|
|
346
|
-
|
|
347
|
-
.stub()
|
|
348
|
-
.returns(1);
|
|
349
|
-
webex.internal.newMetrics.callDiagnosticLatencies.getStayLobbyTimeCappedBy = sinon
|
|
349
|
+
webex.internal.newMetrics.callDiagnosticLatencies.getStayLobbyTime = sinon
|
|
350
350
|
.stub()
|
|
351
351
|
.returns(1);
|
|
352
352
|
webex.internal.newMetrics.callDiagnosticLatencies.getTotalMediaJMTWithUserDelay = sinon
|
|
@@ -369,9 +369,10 @@ describe('plugin-metrics', () => {
|
|
|
369
369
|
assert.deepEqual(webex.request.getCalls()[0].args[0].body.metrics[0].eventPayload.event, {
|
|
370
370
|
name: 'client.media-engine.ready',
|
|
371
371
|
joinTimes: {
|
|
372
|
-
totalMediaJMT:
|
|
372
|
+
totalMediaJMT: 61,
|
|
373
373
|
interstitialToMediaOKJMT: 22,
|
|
374
|
-
callInitMediaEngineReady:
|
|
374
|
+
callInitMediaEngineReady: 10,
|
|
375
|
+
stayLobbyTime: 1,
|
|
375
376
|
totalMediaJMTWithUserDelay: 43,
|
|
376
377
|
totalJMTWithUserDelay: 64,
|
|
377
378
|
},
|
|
@@ -381,34 +382,6 @@ describe('plugin-metrics', () => {
|
|
|
381
382
|
0
|
|
382
383
|
);
|
|
383
384
|
});
|
|
384
|
-
|
|
385
|
-
it('appends the correct join times to the request for client.lobby.exited', async () => {
|
|
386
|
-
webex.internal.newMetrics.callDiagnosticLatencies.getStayLobbyTime = sinon
|
|
387
|
-
.stub()
|
|
388
|
-
.returns(10);
|
|
389
|
-
|
|
390
|
-
const promise = webex.internal.newMetrics.callDiagnosticMetrics.submitToCallDiagnostics(
|
|
391
|
-
//@ts-ignore
|
|
392
|
-
{event: {name: 'client.lobby.exited'}}
|
|
393
|
-
);
|
|
394
|
-
await flushPromises();
|
|
395
|
-
clock.tick(config.metrics.batcherWait);
|
|
396
|
-
|
|
397
|
-
await promise;
|
|
398
|
-
|
|
399
|
-
//@ts-ignore
|
|
400
|
-
assert.calledOnce(webex.request);
|
|
401
|
-
assert.deepEqual(webex.request.getCalls()[0].args[0].body.metrics[0].eventPayload.event, {
|
|
402
|
-
name: 'client.lobby.exited',
|
|
403
|
-
joinTimes: {
|
|
404
|
-
stayLobbyTime: 10,
|
|
405
|
-
},
|
|
406
|
-
});
|
|
407
|
-
assert.lengthOf(
|
|
408
|
-
webex.internal.newMetrics.callDiagnosticMetrics.callDiagnosticEventsBatcher.queue,
|
|
409
|
-
0
|
|
410
|
-
);
|
|
411
|
-
});
|
|
412
385
|
});
|
|
413
386
|
|
|
414
387
|
describe('when the request fails', () => {
|