@webex/internal-plugin-metrics 3.0.0-next.9 → 3.1.0-next.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 (32) hide show
  1. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js +33 -9
  2. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js.map +1 -1
  3. package/dist/call-diagnostic/call-diagnostic-metrics.js +1 -0
  4. package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -1
  5. package/dist/call-diagnostic/call-diagnostic-metrics.util.js +4 -2
  6. package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -1
  7. package/dist/client-metrics-prelogin-batcher.js +32 -0
  8. package/dist/client-metrics-prelogin-batcher.js.map +1 -0
  9. package/dist/metrics.js +6 -25
  10. package/dist/metrics.js.map +1 -1
  11. package/dist/metrics.types.js.map +1 -1
  12. package/dist/prelogin-metrics-batcher.js +1 -1
  13. package/dist/prelogin-metrics-batcher.js.map +1 -1
  14. package/dist/types/call-diagnostic/call-diagnostic-metrics-latencies.d.ts +18 -7
  15. package/dist/types/call-diagnostic/call-diagnostic-metrics.d.ts +2 -2
  16. package/dist/types/client-metrics-prelogin-batcher.d.ts +2 -0
  17. package/dist/types/metrics.types.d.ts +1 -1
  18. package/package.json +12 -12
  19. package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +36 -10
  20. package/src/call-diagnostic/call-diagnostic-metrics.ts +1 -0
  21. package/src/call-diagnostic/call-diagnostic-metrics.util.ts +11 -2
  22. package/src/client-metrics-prelogin-batcher.ts +26 -0
  23. package/src/metrics.js +5 -23
  24. package/src/metrics.types.ts +3 -1
  25. package/src/prelogin-metrics-batcher.ts +1 -1
  26. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-batcher.ts +9 -1
  27. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-latencies.ts +47 -22
  28. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.ts +57 -23
  29. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +27 -13
  30. package/test/unit/spec/client-metrics-prelogin-batcher.ts +54 -0
  31. package/test/unit/spec/metrics.js +1 -31
  32. package/test/unit/spec/prelogin-metrics-batcher.ts +5 -3
@@ -113,7 +113,6 @@ describe('plugin-metrics', () => {
113
113
  }
114
114
 
115
115
  sinon.spy(webex, 'request');
116
- sinon.spy(metrics, 'postPreLoginMetric');
117
116
  sinon.spy(metrics, 'aliasUser');
118
117
  });
119
118
 
@@ -207,7 +206,7 @@ describe('plugin-metrics', () => {
207
206
 
208
207
  describe('#submitClientMetrics()', () => {
209
208
  describe('before login', () => {
210
- it('posts pre-login metric', () => {
209
+ it('clientMetricsPreloginBatcher pre-login metric', () => {
211
210
  const date = clock.now;
212
211
  const promise = metrics.submitClientMetrics(eventName, mockPayload, preLoginId);
213
212
 
@@ -215,8 +214,6 @@ describe('plugin-metrics', () => {
215
214
  .then(() => clock.tick(config.metrics.batcherWait))
216
215
  .then(() => promise)
217
216
  .then(() => {
218
- assert.called(metrics.postPreLoginMetric);
219
- assert.calledOnce(webex.credentials.getClientToken);
220
217
  assert.calledOnce(webex.request);
221
218
  const req = webex.request.args[0][0];
222
219
  const metric = req.body.metrics[0];
@@ -304,33 +301,6 @@ describe('plugin-metrics', () => {
304
301
  });
305
302
  });
306
303
 
307
- describe('#postPreLoginMetric()', () => {
308
- it('returns an HttpResponse object', () => {
309
- const promise = metrics.postPreLoginMetric(preLoginProps, preLoginId);
310
-
311
- return promiseTick(50)
312
- .then(() => clock.tick(config.metrics.batcherWait))
313
- .then(() => promise)
314
- .then(() => {
315
- assert.calledOnce(webex.request);
316
- const req = webex.request.args[0][0];
317
- const metric = req.body.metrics[0];
318
- const {headers} = req;
319
-
320
- assert.property(headers, 'x-prelogin-userid');
321
- assert.property(metric, 'metricName');
322
- assert.property(metric, 'tags');
323
- assert.property(metric, 'fields');
324
- assert.property(metric, 'timestamp');
325
-
326
- assert.equal(metric.timestamp, transformedProps.timestamp);
327
- assert.equal(metric.metricName, eventName);
328
- assert.equal(metric.tags.testTag, 'tag value');
329
- assert.equal(metric.fields.testField, 123);
330
- });
331
- });
332
- });
333
-
334
304
  describe('#aliasUser()', () => {
335
305
  it('returns an HttpResponse object', () =>
336
306
  metrics.aliasUser(preLoginId).then(() => {
@@ -75,6 +75,7 @@ describe('internal-plugin-metrics', () => {
75
75
  meetingInfoReqResp: undefined,
76
76
  clickToInterstitial: undefined,
77
77
  refreshCaptchaServiceReqResp: undefined,
78
+ downloadIntelligenceModelsReqResp: undefined,
78
79
  },
79
80
  name: 'client.interstitial-window.launched',
80
81
  },
@@ -139,7 +140,7 @@ describe('internal-plugin-metrics', () => {
139
140
  assert.calledOnceWithExactly(
140
141
  webex.logger.error,
141
142
  'Pre Login Metrics -->',
142
- `PreLoginMetricsBatcher: @submitHttpRequest#prelogin-ca-batch-${expectedBatchId}. Request failed:`,
143
+ `PreLoginMetricsBatcher: @submitHttpRequest#prelogin-batch-${expectedBatchId}. Request failed:`,
143
144
  `error: formattedError`
144
145
  );
145
146
  assert.lengthOf(
@@ -149,7 +150,8 @@ describe('internal-plugin-metrics', () => {
149
150
  });
150
151
 
151
152
  it('fails if preLoinId is not set', async () => {
152
- webex.internal.newMetrics.callDiagnosticMetrics.preLoginMetricsBatcher.preLoginId = undefined;
153
+ webex.internal.newMetrics.callDiagnosticMetrics.preLoginMetricsBatcher.preLoginId =
154
+ undefined;
153
155
 
154
156
  const promise =
155
157
  webex.internal.newMetrics.callDiagnosticMetrics.submitToCallDiagnosticsPreLogin(
@@ -177,7 +179,7 @@ describe('internal-plugin-metrics', () => {
177
179
 
178
180
  describe('prepareItem', () => {
179
181
  it('calls prepareDiagnosticMetricItem correctly', async () => {
180
- // avoid setting .sent timestamp
182
+ // avoid setting .sent timestamp
181
183
  webex.internal.newMetrics.callDiagnosticMetrics.preLoginMetricsBatcher.prepareRequest = (q) =>
182
184
  Promise.resolve(q);
183
185