33 * SPDX-License-Identifier: Apache-2.0
44 */
55
6+ import { oneDay } from '../../shared/datetime'
67import { getLogger } from '../../shared/logger/logger'
78import { AwsLoadCredentials , telemetry } from '../../shared/telemetry/telemetry'
89import { withTelemetryContext } from '../../shared/telemetry/util'
9- import { cancellableDebounce } from '../../shared/utilities/functionUtils'
10+ import { debounce } from '../../shared/utilities/functionUtils'
1011import {
1112 asString ,
1213 CredentialsProvider ,
@@ -26,13 +27,13 @@ export class CredentialsProviderManager {
2627 private readonly providerFactories : CredentialsProviderFactory [ ] = [ ]
2728 private readonly providers : CredentialsProvider [ ] = [ ]
2829
29- @withTelemetryContext ( { name : 'getAllCredentialsProvider' , class : credentialsProviderManagerClassName , emit : true } )
30+ @withTelemetryContext ( { name : 'getAllCredentialsProvider' , class : credentialsProviderManagerClassName } )
3031 public async getAllCredentialsProviders ( ) : Promise < CredentialsProvider [ ] > {
3132 let providers : CredentialsProvider [ ] = [ ]
3233
3334 for ( const provider of this . providers ) {
3435 if ( await provider . isAvailable ( ) ) {
35- telemetry . aws_loadCredentials . emit ( {
36+ void this . emitWithDebounce ( {
3637 credentialSourceId : credentialsProviderToTelemetryType (
3738 provider . getCredentialsId ( ) . credentialSource
3839 ) ,
@@ -61,10 +62,7 @@ export class CredentialsProviderManager {
6162
6263 return providers
6364 }
64- private emitWithDebounce = cancellableDebounce (
65- ( m : AwsLoadCredentials ) => telemetry . aws_loadCredentials . emit ( m ) ,
66- 100
67- ) . promise
65+ private emitWithDebounce = debounce ( ( m : AwsLoadCredentials ) => telemetry . aws_loadCredentials . emit ( m ) , oneDay )
6866 /**
6967 * Returns a map of `CredentialsProviderId` string-forms to object-forms,
7068 * from all credential sources. Only available providers are returned.
0 commit comments