Package com.linkedin.venice.listener
Class ServerStatsContext
- java.lang.Object
-
- com.linkedin.venice.listener.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.
-
-
Constructor Summary
Constructors Constructor Description ServerStatsContext(AggServerHttpRequestStats singleGetStats, AggServerHttpRequestStats multiGetStats, AggServerHttpRequestStats computeStats)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
errorRequest(ServerHttpRequestStats stats, double elapsedTime)
AggServerHttpRequestStats
getCurrentStats()
double
getPartsInvokeDelayLatency()
int
getRequestKeyCount()
int
getRequestPartCount()
long
getRequestStartTimeInNS()
io.netty.handler.codec.http.HttpResponseStatus
getResponseStatus()
double
getSecondPartLatency()
java.lang.String
getStoreName()
void
incrementRequestPartCount()
boolean
isAssembledMultiChunkLargeValue()
boolean
isComplete()
boolean
isHealthCheck()
boolean
isMisroutedStoreVersion()
boolean
isNewRequest()
boolean
isStatCallBackExecuted()
void
recordBasicMetrics(ServerHttpRequestStats serverHttpRequestStats)
void
resetContext()
void
setCosineSimilarityCount(int count)
void
setCountOperatorCount(int count)
void
setDatabaseLookupLatency(double latency)
void
setDotProductCount(int count)
void
setFirstPartLatency(double firstPartLatency)
void
setHadamardProductCount(int count)
void
setHealthCheck(boolean healthCheck)
void
setKeySizeList(it.unimi.dsi.fastutil.ints.IntList keySizeList)
void
setMisroutedStoreVersion(boolean misroutedStoreVersion)
void
setMultiChunkLargeValueCount(int multiChunkLargeValueCount)
void
setNewRequest()
void
setPartsInvokeDelayLatency(double partsInvokeDelayLatency)
void
setReadComputeDeserializationLatency(double latency)
void
setReadComputeLatency(double latency)
void
setReadComputeOutputSize(int size)
void
setReadComputeSerializationLatency(double latency)
void
setRequestInfo(RouterRequest request)
void
setRequestKeyCount(int keyCount)
void
setRequestPartCount(int requestPartCount)
void
setRequestSize(int requestSizeInBytes)
void
setRequestTerminatedEarly()
void
setRequestType(RequestType requestType)
void
setResponseStatus(io.netty.handler.codec.http.HttpResponseStatus status)
void
setSecondPartLatency(double secondPartLatency)
void
setStatCallBackExecuted(boolean statCallbackExecuted)
void
setStorageExecutionHandlerSubmissionWaitTime(double storageExecutionSubmissionWaitTime)
void
setStorageExecutionQueueLen(int storageExecutionQueueLen)
void
setStoreName(java.lang.String name)
void
setSuccessRequestKeyCount(int successKeyCount)
void
setValueSize(int size)
void
setValueSizeList(it.unimi.dsi.fastutil.ints.IntList valueSizeList)
void
successRequest(ServerHttpRequestStats stats, double elapsedTime)
-
-
-
Constructor Detail
-
ServerStatsContext
public ServerStatsContext(AggServerHttpRequestStats singleGetStats, AggServerHttpRequestStats multiGetStats, AggServerHttpRequestStats computeStats)
-
-
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()
-
isHealthCheck
public boolean isHealthCheck()
-
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)
-
setHealthCheck
public void setHealthCheck(boolean healthCheck)
-
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)
-
getCurrentStats
public AggServerHttpRequestStats getCurrentStats()
-
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()
-
recordBasicMetrics
public void recordBasicMetrics(ServerHttpRequestStats serverHttpRequestStats)
-
successRequest
public void successRequest(ServerHttpRequestStats stats, double elapsedTime)
-
errorRequest
public void errorRequest(ServerHttpRequestStats stats, double elapsedTime)
-
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()
-
-