Class AggVersionedBlobTransferStats

All Implemented Interfaces:
StoreDataChangedListener

public class AggVersionedBlobTransferStats extends AbstractVeniceAggVersionedStats<BlobTransferStats,BlobTransferStatsReporter>
Aggregates blob transfer statistics at the store version level. This class manages versioned statistics for blob transfer operations, tracking metrics such as response counts, throughput, transfer times, and bytes sent/received for each store version. It extends AbstractVeniceAggVersionedStats to provide automatic aggregation across all versions of a store.
  • Constructor Details

    • AggVersionedBlobTransferStats

      public AggVersionedBlobTransferStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, VeniceServerConfig serverConfig)
      Constructs an AggVersionedBlobTransferStats instance.
      Parameters:
      metricsRepository - the metrics repository for recording statistics
      metadataRepository - the store metadata repository
      serverConfig - the Venice server configuration
    • AggVersionedBlobTransferStats

      public AggVersionedBlobTransferStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, VeniceServerConfig serverConfig, Time time)
      Constructor for testing that allows injecting a Time instance.
      Parameters:
      metricsRepository - the metrics repository for recording statistics
      metadataRepository - the store metadata repository
      serverConfig - the Venice server configuration
      time - the time instance for testing purposes
  • Method Details

    • recordBlobTransferResponsesCount

      public void recordBlobTransferResponsesCount(String storeName, int version)
      Record the blob transfer request count
      Parameters:
      storeName -
      version -
    • recordBlobTransferResponsesBasedOnBoostrapStatus

      public void recordBlobTransferResponsesBasedOnBoostrapStatus(String storeName, int version, boolean isBlobTransferSuccess)
      Record the blob transfer request count based on the bootstrap status
      Parameters:
      storeName - the store name
      version - the version of the store
      isBlobTransferSuccess - true if the blob transfer is successful, false otherwise
    • recordBlobTransferFileReceiveThroughput

      public void recordBlobTransferFileReceiveThroughput(String storeName, int version, double throughput)
      Record the blob transfer file send throughput
      Parameters:
      storeName - the store name
      version - the version of the store
      throughput - the throughput in MB/sec
    • recordBlobTransferTimeInSec

      public void recordBlobTransferTimeInSec(String storeName, int version, double timeInSec)
      Record the blob transfer file receive throughput
      Parameters:
      storeName - the store name
      version - the version of the store
      timeInSec - the time in seconds
    • recordBlobTransferBytesReceived

      public void recordBlobTransferBytesReceived(String storeName, int version, long value)
      Records the number of bytes received during a blob transfer operation.
      Parameters:
      storeName - the name of the Venice store
      version - the version number of the store
      value - the number of bytes received
    • recordBlobTransferBytesSent

      public void recordBlobTransferBytesSent(String storeName, int version, long value)
      Records the number of bytes sent during a blob transfer operation.
      Parameters:
      storeName - the name of the Venice store
      version - the version number of the store
      value - the number of bytes sent