Package com.linkedin.davinci.stats
Class AggVersionedBlobTransferStats
java.lang.Object
com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats<BlobTransferStats,BlobTransferStatsReporter>
com.linkedin.davinci.stats.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.-
Field Summary
Fields inherited from class com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats
metadataRepository -
Constructor Summary
ConstructorsConstructorDescriptionAggVersionedBlobTransferStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, VeniceServerConfig serverConfig) Constructs an AggVersionedBlobTransferStats instance.AggVersionedBlobTransferStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, VeniceServerConfig serverConfig, Time time) Constructor for testing that allows injecting a Time instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidrecordBlobTransferBytesReceived(String storeName, int version, long value) Records the number of bytes received during a blob transfer operation.voidrecordBlobTransferBytesSent(String storeName, int version, long value) Records the number of bytes sent during a blob transfer operation.voidrecordBlobTransferFileReceiveThroughput(String storeName, int version, double throughput) Record the blob transfer file send throughputvoidrecordBlobTransferResponsesBasedOnBoostrapStatus(String storeName, int version, boolean isBlobTransferSuccess) Record the blob transfer request count based on the bootstrap statusvoidrecordBlobTransferResponsesCount(String storeName, int version) Record the blob transfer request countvoidrecordBlobTransferTimeInSec(String storeName, int version, double timeInSec) Record the blob transfer file receive throughputMethods inherited from class com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats
addStore, getCurrentVersion, getFutureVersion, getMetricsRepository, getStats, getTotalStats, handleStoreChanged, handleStoreCreated, handleStoreDeleted, loadAllStats, onVersionInfoUpdated, recordVersionedAndTotalStat, registerConditionalStats, updateStatsVersionInfo, updateTotalStatsMethods 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
handleStoreDeleted
-
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 statisticsmetadataRepository- the store metadata repositoryserverConfig- 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 statisticsmetadataRepository- the store metadata repositoryserverConfig- the Venice server configurationtime- the time instance for testing purposes
-
-
Method Details
-
recordBlobTransferResponsesCount
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 nameversion- the version of the storeisBlobTransferSuccess- 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 nameversion- the version of the storethroughput- the throughput in MB/sec
-
recordBlobTransferTimeInSec
Record the blob transfer file receive throughput- Parameters:
storeName- the store nameversion- the version of the storetimeInSec- the time in seconds
-
recordBlobTransferBytesReceived
Records the number of bytes received during a blob transfer operation.- Parameters:
storeName- the name of the Venice storeversion- the version number of the storevalue- the number of bytes received
-
recordBlobTransferBytesSent
Records the number of bytes sent during a blob transfer operation.- Parameters:
storeName- the name of the Venice storeversion- the version number of the storevalue- the number of bytes sent
-