@@ -10,6 +10,7 @@ const localize = nls.loadMessageBundle()
10
10
11
11
import * as AWS from 'aws-sdk'
12
12
import * as logger from '../logger/logger'
13
+ import { PerfLog } from '../logger/logger'
13
14
import { ServiceConfigurationOptions } from 'aws-sdk/lib/service'
14
15
import { CancellationError , Timeout , waitTimeout , waitUntil } from '../utilities/timeoutUtils'
15
16
import { isUserCancelledError } from '../../shared/errors'
@@ -28,6 +29,7 @@ import {
28
29
ListSourceRepositoriesItem ,
29
30
ListSourceRepositoriesItems ,
30
31
} from 'aws-sdk/clients/codecatalyst'
32
+ import { truncate } from '../utilities/textUtilities'
31
33
32
34
interface CodeCatalystConfig {
33
35
readonly region : string
@@ -223,10 +225,12 @@ class CodeCatalystClientInternal {
223
225
const log = this . log
224
226
const bearerToken = ( await this . connection . getToken ( ) ) . accessToken
225
227
req . httpRequest . headers [ 'Authorization' ] = `Bearer ${ bearerToken } `
228
+ const perflog = new PerfLog ( 'API request' )
226
229
227
230
return new Promise < T > ( ( resolve , reject ) => {
228
231
req . send ( function ( e , data ) {
229
232
const r = req as any
233
+ const timecost = perflog . elapsed ( ) . toFixed ( 1 )
230
234
if ( e ) {
231
235
if ( e . code === 'AccessDeniedException' || e . statusCode === 401 ) {
232
236
CodeCatalystClientInternal . identityCache . delete ( bearerToken )
@@ -260,14 +264,15 @@ class CodeCatalystClientInternal {
260
264
261
265
if ( r . operation || r . params ) {
262
266
log . error (
263
- 'API request failed: %s\nparams: %O\nerror: %O\nheaders: %O' ,
267
+ 'API request failed (time: %dms): %s\nparams: %O\nerror: %O\nheaders: %O' ,
268
+ timecost ,
264
269
r . operation ,
265
270
r . params ,
266
271
errNoStack ,
267
272
logHeaders
268
273
)
269
274
} else {
270
- log . error ( 'API request failed:% O\nheaders: %O' , req , logHeaders )
275
+ log . error ( 'API request failed (time: %dms):% O\nheaders: %O' , timecost , req , logHeaders )
271
276
}
272
277
if ( silent ) {
273
278
if ( defaultVal === undefined ) {
@@ -279,7 +284,22 @@ class CodeCatalystClientInternal {
279
284
}
280
285
return
281
286
}
282
- log . verbose ( 'API request (%s):\nparams: %O\nresponse: %O' , r . operation ?? '?' , r . params ?? '?' , data )
287
+ if ( log . logLevelEnabled ( 'verbose' ) ) {
288
+ const truncatedData = {
289
+ ...data ,
290
+ nextToken : ( data as any ) ?. nextToken ?? '' ,
291
+ }
292
+ if ( truncatedData . nextToken && typeof truncatedData . nextToken === 'string' ) {
293
+ truncatedData . nextToken = truncate ( truncatedData . nextToken , 20 )
294
+ }
295
+ log . verbose (
296
+ 'API request (time: %dms): %s\nparams: %O\nresponse: %O' ,
297
+ timecost ,
298
+ r . operation ?? '?' ,
299
+ r . params ?? '?' ,
300
+ truncatedData
301
+ )
302
+ }
283
303
resolve ( data )
284
304
} )
285
305
} )
0 commit comments