Skip to content

Commit eb87043

Browse files
committed
refactor: debounce more aggressively
1 parent 29c4048 commit eb87043

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

packages/core/src/auth/providers/credentialsProviderManager.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6+
import { oneDay } from '../../shared/datetime'
67
import { getLogger } from '../../shared/logger/logger'
78
import { AwsLoadCredentials, telemetry } from '../../shared/telemetry/telemetry'
89
import { withTelemetryContext } from '../../shared/telemetry/util'
9-
import { cancellableDebounce } from '../../shared/utilities/functionUtils'
10+
import { debounce } from '../../shared/utilities/functionUtils'
1011
import {
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

Comments
 (0)