@webex/internal-plugin-metrics 3.12.0-next.9 → 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.
Files changed (42) hide show
  1. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js +34 -48
  2. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js.map +1 -1
  3. package/dist/call-diagnostic/call-diagnostic-metrics.js +0 -5
  4. package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -1
  5. package/dist/call-diagnostic/call-diagnostic-metrics.util.js +4 -39
  6. package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -1
  7. package/dist/call-diagnostic/config.js +1 -3
  8. package/dist/call-diagnostic/config.js.map +1 -1
  9. package/dist/generic-metrics.js +6 -8
  10. package/dist/generic-metrics.js.map +1 -1
  11. package/dist/index.js +0 -7
  12. package/dist/index.js.map +1 -1
  13. package/dist/metrics.js +1 -1
  14. package/dist/metrics.types.js.map +1 -1
  15. package/dist/new-metrics.js +20 -56
  16. package/dist/new-metrics.js.map +1 -1
  17. package/dist/types/call-diagnostic/call-diagnostic-metrics-latencies.d.ts +0 -9
  18. package/dist/types/call-diagnostic/call-diagnostic-metrics.d.ts +20 -34
  19. package/dist/types/call-diagnostic/call-diagnostic-metrics.util.d.ts +2 -23
  20. package/dist/types/call-diagnostic/config.d.ts +19 -2
  21. package/dist/types/config.d.ts +15 -15
  22. package/dist/types/index.d.ts +1 -2
  23. package/dist/types/metrics.types.d.ts +2 -2
  24. package/dist/types/new-metrics.d.ts +0 -12
  25. package/package.json +11 -11
  26. package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +44 -97
  27. package/src/call-diagnostic/call-diagnostic-metrics.ts +0 -6
  28. package/src/call-diagnostic/call-diagnostic-metrics.util.ts +2 -44
  29. package/src/call-diagnostic/config.ts +0 -2
  30. package/src/generic-metrics.ts +6 -6
  31. package/src/index.ts +0 -2
  32. package/src/metrics.types.ts +2 -2
  33. package/src/new-metrics.ts +0 -42
  34. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-batcher.ts +11 -38
  35. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-latencies.ts +303 -251
  36. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.ts +0 -44
  37. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +3 -65
  38. package/dist/prelogin-metrics.js +0 -106
  39. package/dist/prelogin-metrics.js.map +0 -1
  40. package/dist/types/prelogin-metrics.d.ts +0 -47
  41. package/src/prelogin-metrics.ts +0 -94
  42. package/test/unit/spec/prelogin-metrics.ts +0 -132
@@ -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.stub().returns(20);
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
- sinon.stub().returns(43);
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
- webex.internal.newMetrics.callDiagnosticLatencies.getStayLobbyTime = sinon
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: 44,
372
+ totalMediaJMT: 61,
373
373
  interstitialToMediaOKJMT: 22,
374
- callInitMediaEngineReady: 22,
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', () => {