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) AggRouterHttpRequestStats
(String clusterName, io.tehuti.metrics.MetricsRepository metricsRepository, RequestType requestType, ReadOnlyStoreRepository metadataRepository, boolean isUnregisterMetricForDeletedStoreEnabled) -
Method Summary
Modifier and TypeMethodDescriptiongetScatterGatherStatsForStore
(String storeName) void
recordAllowedRetryRequest
(String storeName) void
recordBadRequest
(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus) void
recordBadRequestKeyCount
(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) void
recordCompressedResponseSize
(String storeName, double compressedResponseSize) void
recordDecompressionTime
(String storeName, double decompressionTime) void
recordDelayConstraintAbortedRetryRequest
(String storeName) void
recordDisallowedRetryRequest
(String storeName) void
void
recordErrorRetryCount
(String storeName) void
recordFanoutRequestCount
(String storeName, int count) void
recordFindUnhealthyHostRequest
(String storeName) void
recordHealthyRequest
(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) void
recordKeyNum
(String storeName, int keyNum) void
recordKeySize
(long keySize) void
recordLatency
(String storeName, double latency) void
recordMetaStoreShadowRead
(String storeName) void
recordMultiGetFallback
(String storeName, int keyCount) void
void
recordQuota
(String storeName, double quota) void
recordReadQuotaUsage
(String storeName, int quotaUsage) Calculate read quota usage based on how many key/value pairs are successfully returned from server.void
recordRequest
(String storeName) void
recordRequestParsingLatency
(String storeName, double latency) void
recordRequestRoutingLatency
(String storeName, double latency) void
recordRequestSize
(String storeName, double keySize) void
recordRequestThrottledByRouterCapacity
(String storeName) void
recordRequestUsage
(String storeName, int usage) void
recordResponse
(String storeName) void
recordResponseSize
(String storeName, double valueSize) void
recordResponseWaitingTime
(String storeName, double waitingTime) void
recordRetryDelay
(String storeName, double delay) void
recordRetryRouteLimitAbortedRetryRequest
(String storeName) void
recordSlowRouteAbortedRetryRequest
(String storeName) void
recordTardyRequest
(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) void
recordThrottledRequest
(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus, int keyNum) void
recordThrottledRequest
(String storeName, io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus) Once we stop reporting throttled requests inRouterExceptionAndTrackingUtils
, and we only report them inVeniceResponseAggregator
then we will always have a latency and we'll be able to remove this overload.void
recordTotalQuota
(double totalQuota) void
recordUnavailableReplicaStreamingRequest
(String storeName) void
recordUnavailableRequest
(String storeName) void
recordUnhealthyRequest
(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus, int keyNum) void
recordUnhealthyRequest
(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus) Methods inherited from class com.linkedin.venice.stats.AbstractVeniceAggStoreStats
getStoreStats, handleStoreDeleted
Methods inherited from class com.linkedin.venice.stats.AbstractVeniceAggStats
getNullableStoreStats, getTotalStats, setStatsSupplier
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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)
-
-
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 inVeniceResponseAggregator
then 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
-
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
-