File tree Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -129,6 +129,7 @@ class S3Server {
129129 req . serverAccessLog = {
130130 enabled : false ,
131131 startTime : requestStartTime ,
132+ startTimeUnixMS : Date . now ( ) ,
132133 } ;
133134
134135 // eslint-disable-next-line no-param-reassign
@@ -137,7 +138,6 @@ class S3Server {
137138 res . on ( 'finish' , ( ) => {
138139 // eslint-disable-next-line no-param-reassign
139140 req . serverAccessLog . endTime = process . hrtime . bigint ( ) ;
140- logServerAccess ( req , res ) ;
141141 } ) ;
142142 }
143143
@@ -150,6 +150,12 @@ class S3Server {
150150 } ) ;
151151
152152 const monitorEndOfRequest = ( ) => {
153+ if ( req . serverAccessLog ) {
154+ // eslint-disable-next-line no-param-reassign
155+ req . serverAccessLog . onCloseEndTime = process . hrtime . bigint ( ) ;
156+ logServerAccess ( req , res ) ;
157+ }
158+
153159 const responseTimeInNs = Number ( process . hrtime . bigint ( ) - requestStartTime ) ;
154160 const labels = {
155161 method : req . method ,
Original file line number Diff line number Diff line change @@ -282,11 +282,12 @@ function logServerAccess(req, res) {
282282 bodyLength : parseInt ( req . headers [ 'content-length' ] , 10 ) || 0 ,
283283 contentLength : req . parsedContentLength || 0 ,
284284 // eslint-disable-next-line camelcase
285- elapsed_ms : params . startTime && params . endTime ? Number ( params . endTime - params . startTime ) / 1_000_000 : null ,
285+ elapsed_ms : params . startTime && params . onCloseEndTime ?
286+ Number ( params . onCloseEndTime - params . startTime ) / 1_000_000 : null ,
286287 httpURL : req . url || null ,
287288
288289 // AWS access server logs fields https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html
289- startTime : params . startTime ? params . startTime . toString ( ) : null , // AWS "Time" field
290+ startTime : params . startTimeUnixMS || null , // AWS "Time" field
290291 requester : getRequester ( authInfo ) ,
291292 operation : getOperation ( req ) ,
292293 requestURI : getURI ( req ) ,
You can’t perform that action at this time.
0 commit comments