Class AggRouterHttpRequestStats

All Implemented Interfaces:
StoreDataChangedListener

public class AggRouterHttpRequestStats extends AbstractVeniceAggStoreStats<RouterHttpRequestStats>
  • 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

      public ScatterGatherStats getScatterGatherStatsForStore(String storeName)
    • recordRequest

      public void recordRequest(String storeName)
    • recordHealthyRequest

      public void recordHealthyRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus)
    • recordUnhealthyRequest

      public void recordUnhealthyRequest(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus)
    • recordUnavailableReplicaStreamingRequest

      public void recordUnavailableReplicaStreamingRequest(String storeName)
    • recordUnhealthyRequest

      public void recordUnhealthyRequest(String storeName, double latency, io.netty.handler.codec.http.HttpResponseStatus responseStatus)
    • recordReadQuotaUsage

      public void recordReadQuotaUsage(String storeName, int quotaUsage)
      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)
    • recordThrottledRequest

      public void recordThrottledRequest(String storeName, io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus)
      Once we stop reporting throttled requests in RouterExceptionAndTrackingUtils, and we only report them in VeniceResponseAggregator 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)
    • recordBadRequest

      public void recordBadRequest(String storeName, io.netty.handler.codec.http.HttpResponseStatus responseStatus)
    • recordBadRequestKeyCount

      public void recordBadRequestKeyCount(String storeName, int keyCount)
    • recordRequestThrottledByRouterCapacity

      public void recordRequestThrottledByRouterCapacity(String storeName)
    • recordErrorRetryCount

      public void recordErrorRetryCount(String storeName)
    • recordFanoutRequestCount

      public void recordFanoutRequestCount(String storeName, int count)
    • recordLatency

      public void recordLatency(String storeName, double latency)
    • recordResponseWaitingTime

      public void recordResponseWaitingTime(String storeName, double waitingTime)
    • recordRequestSize

      public void recordRequestSize(String storeName, double keySize)
    • recordCompressedResponseSize

      public void recordCompressedResponseSize(String storeName, double compressedResponseSize)
    • recordResponseSize

      public void recordResponseSize(String storeName, double valueSize)
    • recordDecompressionTime

      public void recordDecompressionTime(String storeName, double decompressionTime)
    • recordQuota

      public void recordQuota(String storeName, double quota)
    • recordTotalQuota

      public void recordTotalQuota(double totalQuota)
    • recordFindUnhealthyHostRequest

      public void recordFindUnhealthyHostRequest(String storeName)
    • recordResponse

      public void recordResponse(String storeName)
    • recordMetaStoreShadowRead

      public void recordMetaStoreShadowRead(String storeName)
    • recordKeyNum

      public void recordKeyNum(String storeName, int keyNum)
    • recordRequestUsage

      public void recordRequestUsage(String storeName, int usage)
    • recordMultiGetFallback

      public void recordMultiGetFallback(String storeName, int keyCount)
    • recordRequestParsingLatency

      public void recordRequestParsingLatency(String storeName, double latency)
    • recordRequestRoutingLatency

      public void recordRequestRoutingLatency(String storeName, double latency)
    • recordUnavailableRequest

      public void recordUnavailableRequest(String storeName)
    • recordDelayConstraintAbortedRetryRequest

      public void recordDelayConstraintAbortedRetryRequest(String storeName)
    • recordSlowRouteAbortedRetryRequest

      public void recordSlowRouteAbortedRetryRequest(String storeName)
    • recordRetryRouteLimitAbortedRetryRequest

      public void recordRetryRouteLimitAbortedRetryRequest(String storeName)
    • recordKeySize

      public void recordKeySize(String storeName, long keySize)
    • recordAllowedRetryRequest

      public void recordAllowedRetryRequest(String storeName)
    • recordDisallowedRetryRequest

      public void recordDisallowedRetryRequest(String storeName)
    • recordNoAvailableReplicaAbortedRetryRequest

      public void recordNoAvailableReplicaAbortedRetryRequest(String storeName)
    • recordErrorRetryAttemptTriggeredByPendingRequestCheck

      public void recordErrorRetryAttemptTriggeredByPendingRequestCheck(String storeName)
    • recordRetryDelay

      public void recordRetryDelay(String storeName, double delay)