@@ -70,7 +70,7 @@ export class RegionProfileManager {
7070 constructor ( private readonly profileProvider : ( ) => Promise < RegionProfile [ ] > ) {
7171 super (
7272 'aws.amazonq.regionProfiles.cache' ,
73- 3600000 ,
73+ 60000 ,
7474 {
7575 resource : {
7676 locked : false ,
@@ -141,15 +141,26 @@ export class RegionProfileManager {
141141
142142 const conn = this . connectionProvider ( )
143143 if ( conn === undefined || ! isSsoConnection ( conn ) ) {
144+ RegionProfileManager . logger . info (
145+ `listRegionProfile: no valid SSO connection, skipping (conn=${ conn === undefined ? 'undefined' : 'non-SSO' } )`
146+ )
144147 return [ ]
145148 }
146149 const availableProfiles : RegionProfile [ ] = [ ]
147150 const failedRegions : string [ ] = [ ]
148151
152+ RegionProfileManager . logger . info (
153+ `listRegionProfile: calling listAvailableProfiles across ${ endpoints . size } regions`
154+ )
149155 for ( const [ region , endpoint ] of endpoints . entries ( ) ) {
150156 const client = await this . _createQClient ( region , endpoint , conn as SsoConnection )
151- const requester = async ( request : CodeWhispererUserClient . ListAvailableProfilesRequest ) =>
152- client . listAvailableProfiles ( request ) . promise ( )
157+ const requester = async ( request : CodeWhispererUserClient . ListAvailableProfilesRequest ) => {
158+ const response = await client . listAvailableProfiles ( request ) . promise ( )
159+ RegionProfileManager . logger . info (
160+ `listRegionProfile: listAvailableProfiles response for region=${ region } , requestId=${ ( response as any ) . $response ?. requestId } , profileCount=${ response . profiles ?. length ?? 0 } `
161+ )
162+ return response
163+ }
153164 const request : CodeWhispererUserClient . ListAvailableProfilesRequest = { }
154165 try {
155166 const profiles = await pageableToCollection ( requester , request , 'nextToken' , 'profiles' )
@@ -178,6 +189,10 @@ export class RegionProfileManager {
178189 }
179190 }
180191
192+ RegionProfileManager . logger . info (
193+ `listRegionProfile: completed. totalProfiles=${ availableProfiles . length } , failedRegions=[${ failedRegions . join ( ', ' ) } ]`
194+ )
195+
181196 // Throw error if any regional API calls failed and no profiles are available
182197 if ( failedRegions . length > 0 && availableProfiles . length === 0 ) {
183198 throw new ToolkitError ( `Failed to list Q Developer profiles for regions: ${ failedRegions . join ( ', ' ) } ` , {
0 commit comments