Class ServerStatsContext


  • public class ServerStatsContext
    extends java.lang.Object
    We need to be able to record server side statistics for gRPC requests. The current StatsHandler in the Netty Pipeline maintains instance variables per channel, and guarantees that each request will be handled by the same thread, thus we cannot augment StatsHandler in the same way as other handlers for gRPC requests. We create a new StatsContext for each gRPC request, so we can maintain per request stats which will be aggregated on request completion using references to the proper Metrics Repository in AggServerHttpRequestStats. This class is almost a direct copy of StatsHandler, without Netty Channel Read/Write logic.
    • Method Detail

      • isNewRequest

        public boolean isNewRequest()
      • setSecondPartLatency

        public void setSecondPartLatency​(double secondPartLatency)
      • setPartsInvokeDelayLatency

        public void setPartsInvokeDelayLatency​(double partsInvokeDelayLatency)
      • incrementRequestPartCount

        public void incrementRequestPartCount()
      • resetContext

        public void resetContext()
      • setFirstPartLatency

        public void setFirstPartLatency​(double firstPartLatency)
      • setNewRequest

        public void setNewRequest()
      • isMetadataRequest

        public boolean isMetadataRequest()
      • isStatCallBackExecuted

        public boolean isStatCallBackExecuted()
      • setStatCallBackExecuted

        public void setStatCallBackExecuted​(boolean statCallbackExecuted)
      • setResponseStatus

        public void setResponseStatus​(io.netty.handler.codec.http.HttpResponseStatus status)
      • getStoreName

        public java.lang.String getStoreName()
      • setStoreName

        public void setStoreName​(java.lang.String name)
      • setMetadataRequest

        public void setMetadataRequest​(boolean metadataRequest)
      • setRequestTerminatedEarly

        public void setRequestTerminatedEarly()
      • getResponseStatus

        public io.netty.handler.codec.http.HttpResponseStatus getResponseStatus()
      • setRequestType

        public void setRequestType​(RequestType requestType)
      • setRequestKeyCount

        public void setRequestKeyCount​(int keyCount)
      • setRequestInfo

        public void setRequestInfo​(RouterRequest request)
      • setRequestSize

        public void setRequestSize​(int requestSizeInBytes)
      • getRequestStartTimeInNS

        public long getRequestStartTimeInNS()
      • setFlushLatency

        public void setFlushLatency​(double latency)
      • setResponseSize

        public void setResponseSize​(int size)
      • getRequestKeyCount

        public int getRequestKeyCount()
      • setMisroutedStoreVersion

        public void setMisroutedStoreVersion​(boolean misroutedStoreVersion)