Class AbstractReadResponseStats
java.lang.Object
com.linkedin.venice.listener.response.stats.AbstractReadResponseStats
- All Implemented Interfaces:
ReadResponseStats,ReadResponseStatsRecorder
- Direct Known Subclasses:
MultiKeyResponseStats,SingleGetResponseStats
public abstract class AbstractReadResponseStats
extends Object
implements ReadResponseStats, ReadResponseStatsRecorder
This abstract class is the container for response stats. The stats can be accumulated via the APIs provided by
ReadResponseStats, and then recorded using the API from ReadResponseStatsRecorder.
The class hierarchy aims to minimize the amount of state required for any given response, based on its type and
relevant server configs:
- AbstractReadResponseStats
+-- SingleGetResponseStats
+-- MultiKeyResponseStats
+-- MultiGetResponseStatsWithSizeProfiling
+-- ComputeResponseStats
+-- ComputeResponseStatsWithSizeProfiling-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDatabaseLookupLatency(long startTimeInNanos) The implementer is responsible for doing the subtraction between the current time and the start time.voidaddReadComputeDeserializationLatency(double latency) voidaddReadComputeLatency(double latency) voidaddReadComputeOutputSize(int size) voidaddReadComputeSerializationLatency(double latency) longprotected abstract intvoidincrementCosineSimilarityCount(int count) voidincrementCountOperatorCount(int count) voidincrementDotProductCount(int count) voidincrementHadamardProductCount(int count) voidprotected booleanvoidmerge(ReadResponseStatsRecorder other) Merge the stats contained in this instance with those contained in the instance.voidRecord all metrics, including those which can and cannot be merged.voidRecord metrics which are not mergeable by theReadResponseStatsRecorder.merge(ReadResponseStatsRecorder)function.voidsetStorageExecutionQueueLen(int storageExecutionQueueLen) voidsetStorageExecutionSubmissionWaitTime(double storageExecutionSubmissionWaitTime) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.linkedin.davinci.listener.response.ReadResponseStats
addKeySize, addValueSize
-
Field Details
-
multiChunkLargeValueCount
protected int multiChunkLargeValueCount
-
-
Constructor Details
-
AbstractReadResponseStats
public AbstractReadResponseStats()
-
-
Method Details
-
getRecordCount
protected abstract int getRecordCount() -
getCurrentTimeInNanos
public long getCurrentTimeInNanos()- Specified by:
getCurrentTimeInNanosin interfaceReadResponseStats
-
addDatabaseLookupLatency
public void addDatabaseLookupLatency(long startTimeInNanos) Description copied from interface:ReadResponseStatsThe implementer is responsible for doing the subtraction between the current time and the start time.- Specified by:
addDatabaseLookupLatencyin interfaceReadResponseStats- Parameters:
startTimeInNanos- the timestamp in nanoseconds of beginning of the period to measure.
-
setStorageExecutionSubmissionWaitTime
public void setStorageExecutionSubmissionWaitTime(double storageExecutionSubmissionWaitTime) - Specified by:
setStorageExecutionSubmissionWaitTimein interfaceReadResponseStats
-
setStorageExecutionQueueLen
public void setStorageExecutionQueueLen(int storageExecutionQueueLen) - Specified by:
setStorageExecutionQueueLenin interfaceReadResponseStats
-
incrementMultiChunkLargeValueCount
public void incrementMultiChunkLargeValueCount()- Specified by:
incrementMultiChunkLargeValueCountin interfaceReadResponseStats
-
recordMetrics
Description copied from interface:ReadResponseStatsRecorderRecord all metrics, including those which can and cannot be merged.- Specified by:
recordMetricsin interfaceReadResponseStatsRecorder- Parameters:
stats- theServerHttpRequestStatsobject to record stats into.
-
recordUnmergedMetrics
Description copied from interface:ReadResponseStatsRecorderRecord metrics which are not mergeable by theReadResponseStatsRecorder.merge(ReadResponseStatsRecorder)function.- Specified by:
recordUnmergedMetricsin interfaceReadResponseStatsRecorder- Parameters:
stats- theServerHttpRequestStatsobject to record stats into.
-
merge
Description copied from interface:ReadResponseStatsRecorderMerge the stats contained in this instance with those contained in the instance.- Specified by:
mergein interfaceReadResponseStatsRecorder- Parameters:
other- instance to merge with.
-
isAssembledMultiChunkLargeValue
protected boolean isAssembledMultiChunkLargeValue() -
addReadComputeLatency
public void addReadComputeLatency(double latency) - Specified by:
addReadComputeLatencyin interfaceReadResponseStats
-
addReadComputeDeserializationLatency
public void addReadComputeDeserializationLatency(double latency) - Specified by:
addReadComputeDeserializationLatencyin interfaceReadResponseStats
-
addReadComputeSerializationLatency
public void addReadComputeSerializationLatency(double latency) - Specified by:
addReadComputeSerializationLatencyin interfaceReadResponseStats
-
addReadComputeOutputSize
public void addReadComputeOutputSize(int size) - Specified by:
addReadComputeOutputSizein interfaceReadResponseStats
-
incrementDotProductCount
public void incrementDotProductCount(int count) - Specified by:
incrementDotProductCountin interfaceReadResponseStats
-
incrementCountOperatorCount
public void incrementCountOperatorCount(int count) - Specified by:
incrementCountOperatorCountin interfaceReadResponseStats
-
incrementCosineSimilarityCount
public void incrementCosineSimilarityCount(int count) - Specified by:
incrementCosineSimilarityCountin interfaceReadResponseStats
-
incrementHadamardProductCount
public void incrementHadamardProductCount(int count) - Specified by:
incrementHadamardProductCountin interfaceReadResponseStats
-