-
Bug
-
Resolution: Done
-
Major
-
1.4.21.Final, 1.3.33.Final
-
None
-
Low
record-request-start-time does not work for HTTP/2. Thus, no response time can be tracked for HTTP/2 requests in access logs.
HTTP/2 is handled separately in HttpReadListener before the request start time is set:
if(httpServerExchange.getProtocol() == Protocols.HTTP_2_0) { free = handleHttp2PriorKnowledge(pooled, httpServerExchange); return; } if(!allowUnknownProtocols) { HttpString protocol = httpServerExchange.getProtocol(); if(protocol != Protocols.HTTP_1_1 && protocol != Protocols.HTTP_1_0 && protocol != Protocols.HTTP_0_9) { UndertowLogger.REQUEST_IO_LOGGER.debugf("Closing connection from %s due to unknown protocol %s", connection.getChannel().getPeerAddress(), protocol); sendBadRequestAndClose(connection.getChannel(), new IOException()); return; } } HttpTransferEncoding.setupRequest(httpServerExchange); if (recordRequestStartTime) { Connectors.setRequestStartTime(httpServerExchange); }
So this needs some adjustments.
- is cloned by
-
JBEAP-13919 [GSS](7.1.z) UNDERTOW-1241 - record-request-start-time does not work for HTTP/2
- Closed
- is duplicated by
-
JBEAP-14052 [GSS](7.2.0) record-request-start-time does not work for HTTP/2
- Closed