diff --git a/packages/@webex/webex-core/src/lib/metrics.js b/packages/@webex/webex-core/src/lib/metrics.js index e81dde7cfc9..53fa15085c3 100644 --- a/packages/@webex/webex-core/src/lib/metrics.js +++ b/packages/@webex/webex-core/src/lib/metrics.js @@ -1,4 +1,5 @@ // Metrics for service catalog export default { JS_SDK_SERVICE_NOT_FOUND: 'JS_SDK_SERVICE_NOT_FOUND', + SERVICE_V2: 'SERVICE_V2', }; diff --git a/packages/@webex/webex-core/src/lib/services-v2/services-v2.ts b/packages/@webex/webex-core/src/lib/services-v2/services-v2.ts index 56b0e6f999d..e8f0b394c68 100644 --- a/packages/@webex/webex-core/src/lib/services-v2/services-v2.ts +++ b/packages/@webex/webex-core/src/lib/services-v2/services-v2.ts @@ -1036,7 +1036,16 @@ const Services = WebexPlugin.extend({ return ( Promise.resolve() // Get the user's OrgId. - .then(() => credentials.getOrgId()) + .then(() => { + this.webex.internal.metrics.submitClientMetrics(METRICS.SERVICE_V2, { + fields: { + type: 'operational', + status: 'initializing', + }, + }); + + return credentials.getOrgId(); + }) // Begin collecting the preauth/limited catalog. .then((orgId) => this.collectPreauthCatalog({orgId}, refresh)) .then(() => { diff --git a/packages/@webex/webex-core/test/unit/spec/services-v2/services-v2.ts b/packages/@webex/webex-core/test/unit/spec/services-v2/services-v2.ts index 7ef8de9000c..ee84bb2871c 100644 --- a/packages/@webex/webex-core/test/unit/spec/services-v2/services-v2.ts +++ b/packages/@webex/webex-core/test/unit/spec/services-v2/services-v2.ts @@ -48,14 +48,13 @@ describe('webex-core', () => { // call the onReady callback services.listenToOnce.getCall(1).args[2](); await waitForAsync(); - + assert.isFalse(services.initFailed); }); it('initFailed is false when initialization succeeds no credentials are available', async () => { services.listenToOnce = sinon.stub(); services.collectPreauthCatalog = sinon.stub().returns(Promise.resolve()); - services.initialize(); // call the onReady callback @@ -134,6 +133,8 @@ describe('webex-core', () => { canAuthorize: true, }; + webex.internal.metrics.submitClientMetrics = sinon.stub(); + services.collectPreauthCatalog = sinon.stub().callsFake(() => { return Promise.resolve(); }); @@ -160,6 +161,8 @@ describe('webex-core', () => { canAuthorize: true, }; + webex.internal.metrics.submitClientMetrics = sinon.stub(); + services.collectPreauthCatalog = sinon.stub().callsFake(() => { return Promise.resolve(); });