diff --git a/packages/core/src/auth/providers/credentialsProviderManager.ts b/packages/core/src/auth/providers/credentialsProviderManager.ts index f694640c6a1..ff2dcab5ac9 100644 --- a/packages/core/src/auth/providers/credentialsProviderManager.ts +++ b/packages/core/src/auth/providers/credentialsProviderManager.ts @@ -3,10 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ +import { oneDay } from '../../shared/datetime' import { getLogger } from '../../shared/logger/logger' import { AwsLoadCredentials, telemetry } from '../../shared/telemetry/telemetry' import { withTelemetryContext } from '../../shared/telemetry/util' -import { cancellableDebounce } from '../../shared/utilities/functionUtils' +import { debounce } from '../../shared/utilities/functionUtils' import { asString, CredentialsProvider, @@ -26,13 +27,13 @@ export class CredentialsProviderManager { private readonly providerFactories: CredentialsProviderFactory[] = [] private readonly providers: CredentialsProvider[] = [] - @withTelemetryContext({ name: 'getAllCredentialsProvider', class: credentialsProviderManagerClassName, emit: true }) + @withTelemetryContext({ name: 'getAllCredentialsProvider', class: credentialsProviderManagerClassName }) public async getAllCredentialsProviders(): Promise { let providers: CredentialsProvider[] = [] for (const provider of this.providers) { if (await provider.isAvailable()) { - telemetry.aws_loadCredentials.emit({ + void this.emitWithDebounce({ credentialSourceId: credentialsProviderToTelemetryType( provider.getCredentialsId().credentialSource ), @@ -61,10 +62,7 @@ export class CredentialsProviderManager { return providers } - private emitWithDebounce = cancellableDebounce( - (m: AwsLoadCredentials) => telemetry.aws_loadCredentials.emit(m), - 100 - ).promise + private emitWithDebounce = debounce((m: AwsLoadCredentials) => telemetry.aws_loadCredentials.emit(m), oneDay) /** * Returns a map of `CredentialsProviderId` string-forms to object-forms, * from all credential sources. Only available providers are returned. diff --git a/packages/core/src/test/techdebt.test.ts b/packages/core/src/test/techdebt.test.ts index 25a1d83d4f6..69e557100f7 100644 --- a/packages/core/src/test/techdebt.test.ts +++ b/packages/core/src/test/techdebt.test.ts @@ -39,11 +39,4 @@ describe('tech debt', function () { // This is relevant for the use of `fs.cpSync` in the copyFiles scripts. assert.ok(semver.lt(minNodejs, '18.0.0'), 'with node18+, we can remove the dependency on @types/node@18') }) - - it('remove debugging telemetry', async function () { - fixByDate( - '2025-02-11', - 'Remove debugging telemetry in `packages/core/src/auth/providers/credentialsProviderManager.ts`. Should only need to remove the `emit: true` in the decorator.' - ) - }) })