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()
      • getSecondPartLatency

        public double getSecondPartLatency()
      • setSecondPartLatency

        public void setSecondPartLatency​(double secondPartLatency)
      • getPartsInvokeDelayLatency

        public double getPartsInvokeDelayLatency()
      • setPartsInvokeDelayLatency

        public void setPartsInvokeDelayLatency​(double partsInvokeDelayLatency)
      • getRequestPartCount

        public int getRequestPartCount()
      • setRequestPartCount

        public void setRequestPartCount​(int requestPartCount)
      • 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)
      • setSuccessRequestKeyCount

        public void setSuccessRequestKeyCount​(int successKeyCount)
      • setDatabaseLookupLatency

        public void setDatabaseLookupLatency​(double latency)
      • setReadComputeLatency

        public void setReadComputeLatency​(double latency)
      • setReadComputeDeserializationLatency

        public void setReadComputeDeserializationLatency​(double latency)
      • setReadComputeSerializationLatency

        public void setReadComputeSerializationLatency​(double latency)
      • setDotProductCount

        public void setDotProductCount​(int count)
      • setCosineSimilarityCount

        public void setCosineSimilarityCount​(int count)
      • setHadamardProductCount

        public void setHadamardProductCount​(int count)
      • setCountOperatorCount

        public void setCountOperatorCount​(int count)
      • setStorageExecutionHandlerSubmissionWaitTime

        public void setStorageExecutionHandlerSubmissionWaitTime​(double storageExecutionSubmissionWaitTime)
      • setStorageExecutionQueueLen

        public void setStorageExecutionQueueLen​(int storageExecutionQueueLen)
      • isAssembledMultiChunkLargeValue

        public boolean isAssembledMultiChunkLargeValue()
      • setMultiChunkLargeValueCount

        public void setMultiChunkLargeValueCount​(int multiChunkLargeValueCount)
      • setKeySizeList

        public void setKeySizeList​(it.unimi.dsi.fastutil.ints.IntList keySizeList)
      • setValueSizeList

        public void setValueSizeList​(it.unimi.dsi.fastutil.ints.IntList valueSizeList)
      • getRequestStartTimeInNS

        public long getRequestStartTimeInNS()
      • setValueSize

        public void setValueSize​(int size)
      • setReadComputeOutputSize

        public void setReadComputeOutputSize​(int size)
      • getRequestKeyCount

        public int getRequestKeyCount()
      • isComplete

        public boolean isComplete()
      • setMisroutedStoreVersion

        public void setMisroutedStoreVersion​(boolean misroutedStoreVersion)
      • isMisroutedStoreVersion

        public boolean isMisroutedStoreVersion()