Package com.linkedin.venice.router.stats
Class AggRouterHttpRequestStats
java.lang.Object
com.linkedin.venice.stats.AbstractVeniceAggStats<T>
com.linkedin.venice.stats.AbstractVeniceAggStoreStats<RouterHttpRequestStats>
com.linkedin.venice.router.stats.AggRouterHttpRequestStats
- All Implemented Interfaces:
StoreDataChangedListener
-
Field Summary
Fields inherited from class com.linkedin.venice.stats.AbstractVeniceAggStats
STORE_NAME_FOR_TOTAL_STAT, storeStats, totalStats -
Constructor Summary
ConstructorsConstructorDescriptionAggRouterHttpRequestStats(String cluster, io.tehuti.metrics.MetricsRepository metricsRepository, RequestType requestType, boolean isKeyValueProfilingEnabled, ReadOnlyStoreRepository metadataRepository, boolean isUnregisterMetricForDeletedStoreEnabled, io.tehuti.metrics.Sensor totalInFlightRequestSensor) AggRouterHttpRequestStats(String clusterName, io.tehuti.metrics.MetricsRepository metricsRepository, RequestType requestType, ReadOnlyStoreRepository metadataRepository, boolean isUnregisterMetricForDeletedStoreEnabled) -
Method Summary
Modifier and TypeMethodDescriptiongetScatterGatherStatsForStore(String storeName) voidrecordAllowedRetryRequest(String storeName) voidrecordBadRequest(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus) voidrecordBadRequestKeyCount(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) voidrecordCompressedResponseSize(String storeName, double compressedResponseSize) voidrecordDecompressedResponseSize(String storeName, double decompressedResponseSize) voidrecordDecompressionTime(String storeName, double decompressionTime) voidrecordDelayConstraintAbortedRetryRequest(String storeName) voidrecordDisallowedRetryRequest(String storeName) voidvoidrecordErrorRetryCount(String storeName) voidrecordFanoutRequestCount(String storeName, int count) voidrecordFindUnhealthyHostRequest(String storeName) voidrecordHealthyRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) voidrecordKeyNum(String storeName, int keyNum) voidrecordKeySize(long keySize) voidrecordLatency(String storeName, double latency) voidrecordMetaStoreShadowRead(String storeName) voidrecordMultiGetFallback(String storeName, int keyCount) voidvoidrecordQuota(String storeName, double quota) voidrecordReadQuotaUsage(String storeName, int quotaUsage) Calculate read quota usage based on how many key/value pairs are successfully returned from server.voidrecordRequest(String storeName) voidrecordRequestParsingLatency(String storeName, double latency) voidrecordRequestRoutingLatency(String storeName, double latency) voidrecordRequestSize(String storeName, double keySize) voidrecordRequestThrottledByRouterCapacity(String storeName) voidrecordRequestUsage(String storeName, int usage) voidrecordResponse(String storeName) voidrecordResponseSize(String storeName, double valueSize) voidrecordResponseWaitingTime(String storeName, double waitingTime) voidrecordRetryDelay(String storeName, double delay) voidrecordRetryRouteLimitAbortedRetryRequest(String storeName) voidrecordSlowRouteAbortedRetryRequest(String storeName) voidrecordTardyRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) voidrecordThrottledRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus, int keyNum) voidrecordThrottledRequest(String storeName, io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus) Once we stop reporting throttled requests inRouterExceptionAndTrackingUtils, and we only report them inVeniceResponseAggregatorthen we will always have a latency and we'll be able to remove this overload.voidrecordTotalQuota(double totalQuota) voidrecordUnavailableReplicaStreamingRequest(String storeName) voidrecordUnavailableRequest(String storeName) voidrecordUnhealthyRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) voidrecordUnhealthyRequest(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus) Methods inherited from class com.linkedin.venice.stats.AbstractVeniceAggStoreStats
getStoreStats, handleStoreDeletedMethods inherited from class com.linkedin.venice.stats.AbstractVeniceAggStats
getNullableStoreStats, getTotalStats, setStatsSupplierMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.linkedin.venice.meta.StoreDataChangedListener
handleStoreChanged, handleStoreCreated, handleStoreDeleted
-
Constructor Details
-
AggRouterHttpRequestStats
public AggRouterHttpRequestStats(String clusterName, io.tehuti.metrics.MetricsRepository metricsRepository, RequestType requestType, ReadOnlyStoreRepository metadataRepository, boolean isUnregisterMetricForDeletedStoreEnabled) -
AggRouterHttpRequestStats
public AggRouterHttpRequestStats(String cluster, io.tehuti.metrics.MetricsRepository metricsRepository, RequestType requestType, boolean isKeyValueProfilingEnabled, ReadOnlyStoreRepository metadataRepository, boolean isUnregisterMetricForDeletedStoreEnabled, io.tehuti.metrics.Sensor totalInFlightRequestSensor)
-
-
Method Details
-
getScatterGatherStatsForStore
-
recordRequest
-
recordHealthyRequest
public void recordHealthyRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) -
recordUnhealthyRequest
public void recordUnhealthyRequest(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus) -
recordUnhealthyRequest
public void recordUnhealthyRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) -
recordReadQuotaUsage
Calculate read quota usage based on how many key/value pairs are successfully returned from server.- Parameters:
storeName-quotaUsage-
-
recordTardyRequest
public void recordTardyRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) -
recordThrottledRequest
public void recordThrottledRequest(String storeName, io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus) Once we stop reporting throttled requests inRouterExceptionAndTrackingUtils, and we only report them inVeniceResponseAggregatorthen we will always have a latency and we'll be able to remove this overload. TODO: Remove this overload after fixing the above. -
recordThrottledRequest
public void recordThrottledRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus, int keyNum) -
recordBadRequest
public void recordBadRequest(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus) -
recordBadRequestKeyCount
public void recordBadRequestKeyCount(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) -
recordRequestThrottledByRouterCapacity
-
recordErrorRetryCount
-
recordFanoutRequestCount
-
recordLatency
-
recordResponseWaitingTime
-
recordRequestSize
-
recordCompressedResponseSize
-
recordDecompressedResponseSize
-
recordResponseSize
-
recordDecompressionTime
-
recordQuota
-
recordTotalQuota
public void recordTotalQuota(double totalQuota) -
recordFindUnhealthyHostRequest
-
recordResponse
-
recordMetaStoreShadowRead
-
recordKeyNum
-
recordRequestUsage
-
recordMultiGetFallback
-
recordRequestParsingLatency
-
recordRequestRoutingLatency
-
recordDelayConstraintAbortedRetryRequest
-
recordSlowRouteAbortedRetryRequest
-
recordRetryRouteLimitAbortedRetryRequest
-
recordKeySize
public void recordKeySize(long keySize) -
recordAllowedRetryRequest
-
recordDisallowedRetryRequest
-
recordNoAvailableReplicaAbortedRetryRequest
-
recordErrorRetryAttemptTriggeredByPendingRequestCheck
-
recordRetryDelay
-