Details

    • Estimated Difficulty:
      Low

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  swd847 Stuart Douglas
                  Reporter:
                  aogburn Aaron Ogburn
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: