Class RequestInfo

java.lang.Object
org.apache.coyote.RequestInfo

public class RequestInfo extends Object
Structure holding the Request and Response objects. It also holds statistical information about request processing and provide management information about the requests being processed. Each thread uses a Request/Response pair that is recycled on each request. This object provides a place to collect global low-level statistics - without having to deal with synchronization (since each thread will have its own RequestProcessorMX).
  • Constructor Details

    • RequestInfo

      public RequestInfo(Request req)
      Create a new instance.
      Parameters:
      req - the request
  • Method Details

    • getGlobalProcessor

      public RequestGroupInfo getGlobalProcessor()
      Return the global request processor.
      Returns:
      the global processor
    • setGlobalProcessor

      public void setGlobalProcessor(RequestGroupInfo global)
      Set the global request processor.
      Parameters:
      global - the global processor
    • getMethod

      public String getMethod()
      Return the HTTP method.
      Returns:
      the HTTP method
    • getCurrentUri

      public String getCurrentUri()
      Return the current request URI.
      Returns:
      the current URI
    • getCurrentQueryString

      public String getCurrentQueryString()
      Return the current query string.
      Returns:
      the current query string
    • getProtocol

      public String getProtocol()
      Return the protocol.
      Returns:
      the protocol
    • getVirtualHost

      public String getVirtualHost()
      Return the virtual host.
      Returns:
      the virtual host
    • getServerPort

      public int getServerPort()
      Return the server port.
      Returns:
      the server port
    • getRemoteAddr

      public String getRemoteAddr()
      Return the remote address.
      Returns:
      the remote address
    • getPeerAddr

      public String getPeerAddr()
      Return the peer address.
      Returns:
      the peer address
    • getRemoteAddrForwarded

      public String getRemoteAddrForwarded()
      Obtain the remote address for this connection as reported by an intermediate proxy (if any).
      Returns:
      The remote address for this connection
    • getContentLength

      public int getContentLength()
      Return the content length.
      Returns:
      the content length
    • getRequestBytesReceived

      public long getRequestBytesReceived()
      Return the bytes received for the current request.
      Returns:
      the bytes received
    • getRequestBytesSent

      public long getRequestBytesSent()
      Return the bytes sent for the current request.
      Returns:
      the bytes sent
    • getRequestProcessingTime

      public long getRequestProcessingTime()
      Return the processing time for the current request.
      Returns:
      the processing time
    • getStage

      public int getStage()
      Return the current processing stage.
      Returns:
      the stage
    • setStage

      public void setStage(int stage)
      Set the current processing stage.
      Parameters:
      stage - the stage
    • getBytesSent

      public long getBytesSent()
      Return the total bytes sent.
      Returns:
      the bytes sent
    • setBytesSent

      public void setBytesSent(long bytesSent)
      Reset the bytes sent.
      Parameters:
      bytesSent - the new bytes sent
    • getBytesReceived

      public long getBytesReceived()
      Return the total bytes received.
      Returns:
      the bytes received
    • setBytesReceived

      public void setBytesReceived(long bytesReceived)
      Reset the bytes received.
      Parameters:
      bytesReceived - the new bytes received
    • getProcessingTime

      public long getProcessingTime()
      Return the total processing time.
      Returns:
      the processing time
    • setProcessingTime

      public void setProcessingTime(long processingTime)
      Reset the processing time.
      Parameters:
      processingTime - the new processing time
    • getMaxTime

      public long getMaxTime()
      Return the maximum request processing time.
      Returns:
      the maximum time
    • setMaxTime

      public void setMaxTime(long maxTime)
      Reset the maximum time.
      Parameters:
      maxTime - the new maximum time
    • getMaxRequestUri

      public String getMaxRequestUri()
      Return the URI of the request with the longest processing time.
      Returns:
      the maximum request URI
    • setMaxRequestUri

      public void setMaxRequestUri(String maxRequestUri)
      Set the maximum request URI.
      Parameters:
      maxRequestUri - the maximum request URI
    • getRequestCount

      public int getRequestCount()
      Return the request count.
      Returns:
      the request count
    • setRequestCount

      public void setRequestCount(int requestCount)
      Reset the request count.
      Parameters:
      requestCount - the new request count
    • getErrorCount

      public int getErrorCount()
      Return the error count.
      Returns:
      the error count
    • setErrorCount

      public void setErrorCount(int errorCount)
      Reset the error count.
      Parameters:
      errorCount - the new error count
    • getWorkerThreadName

      public String getWorkerThreadName()
      Return the worker thread name.
      Returns:
      the worker thread name
    • getRpName

      public ObjectName getRpName()
      Return the MBean name.
      Returns:
      the MBean name
    • getLastRequestProcessingTime

      public long getLastRequestProcessingTime()
      Return the processing time of the last request.
      Returns:
      the last request processing time
    • setWorkerThreadName

      public void setWorkerThreadName(String workerThreadName)
      Set the worker thread name.
      Parameters:
      workerThreadName - the worker thread name
    • setRpName

      public void setRpName(ObjectName rpName)
      Set the MBean name.
      Parameters:
      rpName - the MBean name
    • setLastRequestProcessingTime

      public void setLastRequestProcessingTime(long lastRequestProcessingTime)
      Set the last request processing time.
      Parameters:
      lastRequestProcessingTime - the last request processing time
    • recycleStatistcs

      public void recycleStatistcs()
      Recycle all statistics.