Class AggVersionedIngestionStats
- All Implemented Interfaces:
StoreDataChangedListener
OTel stats lifecycle: OTel stats are created lazily by getIngestionOtelStats(java.lang.String) and
updated by onVersionInfoUpdated(java.lang.String, int, int) via computeIfPresent. This class uses eager loading
(loadAllStats() is NOT overridden), so onVersionInfoUpdated and
cleanupVersionResources need null guards because they are called during the super()
constructor before subclass fields (otelStatsMap) are initialized.
-
Field Summary
Fields inherited from class com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats
metadataRepository -
Constructor Summary
ConstructorsConstructorDescriptionAggVersionedIngestionStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository storeRepository, VeniceServerConfig serverConfig) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcleanupVersionResources(String storeName, int version) Hook method for subclasses to clean up version-specific resources (e.g., OTel stats) when a version is removed.voidhandleStoreDeleted(String storeName) protected voidonVersionInfoUpdated(String storeName, int currentVersion, int futureVersion) Updates version info for existing OTel stats only.voidrecordAssembledSize(String storeName, int version, VeniceRecordType recordType, long bytes) voidrecordAssembledSizeRatio(String storeName, int version, double ratio) voidrecordBatchProcessingLatency(String storeName, int version, double latency, long timestamp) voidrecordBatchProcessingRequest(String storeName, int version, int size, long timestamp) voidrecordBatchProcessingRequestError(String storeName, int version) voidrecordBytesConsumed(String storeName, int version, long bytes) Records generic bytes consumed metric (Tehuti only).voidrecordBytesConsumedAsUncompressedSize(String storeName, int version, long bytes) voidrecordChecksumVerificationFailureCount(String storeName, int version) voidrecordConsumedRecordEndToEndProcessingLatency(String storeName, int version, double value, long currentTimeMs) voidrecordConsumerActionTime(String storeName, int version, double latencyMs) voidrecordConsumerQueuePutTime(String storeName, int version, double latencyMs) voidrecordDcrLookupCacheHitCount(String storeName, int version, VeniceRecordType recordType) voidrecordDcrLookupTime(String storeName, int version, VeniceRecordType recordType, double latencyMs) voidrecordDcrMergeTime(String storeName, int version, VeniceDCROperation op, double latencyMs) voidrecordFollowerConsumed(String storeName, int version, long bytes) voidrecordFollowerLatencies(String storeName, int version, long currentTimeMs, double producerBrokerLatencyMs, double brokerConsumerLatencyMs) voidrecordIngestionFailureCount(String storeName, int version, VeniceIngestionFailureReason reason) voidrecordInternalPreprocessingLatency(String storeName, int version, double value, long currentTimeMs) voidrecordKeySize(String storeName, int version, long bytes) voidrecordLeaderConsumed(String storeName, int version, long bytes) voidrecordLeaderLatencies(String storeName, int version, long currentTimeMs, double producerBrokerLatencyMs, double brokerConsumerLatencyMs) voidrecordLeaderPreprocessingLatency(String storeName, int version, double value, long currentTimeMs) voidrecordLeaderProduced(String storeName, int version, long bytesProduced, int recordCount) voidrecordLeaderProducerCompletionTime(String storeName, int version, double value, long currentTimeMs) voidrecordLongRunningTaskCheckTime(String storeName, int version, double latencyMs) voidrecordMaxIdleTime(String storeName, int version, long idleTimeMs, boolean emitTehuti) voidrecordNearlineProducerToLocalBrokerLatency(String storeName, int version, double value, long timestamp) voidrecordOffsetRegressionDCRError(String storeName, int version) voidrecordPartialUpdateCacheHitCount(String storeName, int version) voidrecordPartialUpdateTime(String storeName, int version, VenicePartialUpdateOperation op, double latencyMs) voidrecordProducerCallBackLatency(String storeName, int version, double value, long currentTimeMs) voidrecordProducerCompressTime(String storeName, int version, double latencyMs) voidrecordProducerEnqueueTime(String storeName, int version, double latencyMs) voidrecordProducerSynchronizeTime(String storeName, int version, double latencyMs) voidrecordRecordsConsumed(String storeName, int version) Records generic records consumed metric (Tehuti only).voidrecordRegionHybridConsumption(String storeName, int version, int regionId, long bytesConsumed, long currentTimeMs, String sourceRegion, VeniceRegionLocality regionLocality) voidrecordResubscriptionFailureCount(String storeName, int version) voidrecordStorageEngineDeleteTime(String storeName, int version, double latencyMs) voidrecordStorageEnginePutTime(String storeName, int version, double latencyMs) voidrecordStoreMetadataInconsistentCount(String storeName, int version) voidrecordSubscribePrepLatency(String storeName, int version, double value) voidrecordTimestampRegressionDCRError(String storeName, int version) voidrecordTombStoneCreationDCR(String storeName, int version) voidrecordTotalDCR(String storeName, int version) voidrecordTotalDuplicateKeyUpdate(String storeName, int version) voidrecordUnexpectedMessageCount(String storeName, int version) voidrecordUpdateIgnoredDCR(String storeName, int version) voidrecordValueSize(String storeName, int version, long bytes) voidrecordViewWriterAckTime(String storeName, int version, double latencyMs) voidrecordViewWriterProduceTime(String storeName, int version, double latencyMs) voidresetIngestionTaskPushTimeoutGauge(String storeName, int version) voidsetIngestionTask(String storeVersionTopic, StoreIngestionTask ingestionTask) voidsetIngestionTaskPushTimeoutGauge(String storeName, int version) Methods inherited from class com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats
addStore, getCurrentVersion, getFutureVersion, getMetricsRepository, getStats, getTotalStats, handleStoreChanged, handleStoreCreated, loadAllStats, 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
-
AggVersionedIngestionStats
public AggVersionedIngestionStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository storeRepository, VeniceServerConfig serverConfig)
-
-
Method Details
-
onVersionInfoUpdated
Updates version info for existing OTel stats only. Null guard needed because eager loading calls this from the super() constructor beforeotelStatsMapis initialized.- Overrides:
onVersionInfoUpdatedin classAbstractVeniceAggVersionedStats<IngestionStats,IngestionStatsReporter>
-
cleanupVersionResources
Description copied from class:AbstractVeniceAggVersionedStatsHook method for subclasses to clean up version-specific resources (e.g., OTel stats) when a version is removed. Same re-entrance warning asAbstractVeniceAggVersionedStats.onVersionInfoUpdated(java.lang.String, int, int).- Overrides:
cleanupVersionResourcesin classAbstractVeniceAggVersionedStats<IngestionStats,IngestionStatsReporter>
-
handleStoreDeleted
- Specified by:
handleStoreDeletedin interfaceStoreDataChangedListener- Overrides:
handleStoreDeletedin classAbstractVeniceAggVersionedStats<IngestionStats,IngestionStatsReporter>
-
setIngestionTask
-
recordRecordsConsumed
Records generic records consumed metric (Tehuti only).OTel metrics are intentionally NOT recorded here to avoid double-counting. OTel consumption metrics include a ReplicaType dimension (LEADER/FOLLOWER) and are recorded by
recordLeaderConsumed(java.lang.String, int, long)andrecordFollowerConsumed(java.lang.String, int, long)instead. -
recordBytesConsumed
Records generic bytes consumed metric (Tehuti only).OTel metrics are intentionally NOT recorded here to avoid double-counting. OTel consumption metrics include a ReplicaType dimension (LEADER/FOLLOWER) and are recorded by
recordLeaderConsumed(java.lang.String, int, long)andrecordFollowerConsumed(java.lang.String, int, long)instead. -
recordLeaderConsumed
-
recordFollowerConsumed
-
recordLeaderProduced
public void recordLeaderProduced(String storeName, int version, long bytesProduced, int recordCount) -
recordRegionHybridConsumption
public void recordRegionHybridConsumption(String storeName, int version, int regionId, long bytesConsumed, long currentTimeMs, String sourceRegion, VeniceRegionLocality regionLocality) -
recordUpdateIgnoredDCR
-
recordTotalDCR
-
recordTotalDuplicateKeyUpdate
-
recordTimestampRegressionDCRError
-
recordOffsetRegressionDCRError
-
recordTombStoneCreationDCR
-
setIngestionTaskPushTimeoutGauge
-
resetIngestionTaskPushTimeoutGauge
-
recordSubscribePrepLatency
-
recordProducerCallBackLatency
public void recordProducerCallBackLatency(String storeName, int version, double value, long currentTimeMs) -
recordLeaderPreprocessingLatency
public void recordLeaderPreprocessingLatency(String storeName, int version, double value, long currentTimeMs) -
recordInternalPreprocessingLatency
public void recordInternalPreprocessingLatency(String storeName, int version, double value, long currentTimeMs) -
recordLeaderLatencies
public void recordLeaderLatencies(String storeName, int version, long currentTimeMs, double producerBrokerLatencyMs, double brokerConsumerLatencyMs) -
recordFollowerLatencies
public void recordFollowerLatencies(String storeName, int version, long currentTimeMs, double producerBrokerLatencyMs, double brokerConsumerLatencyMs) -
recordLeaderProducerCompletionTime
public void recordLeaderProducerCompletionTime(String storeName, int version, double value, long currentTimeMs) -
recordConsumedRecordEndToEndProcessingLatency
public void recordConsumedRecordEndToEndProcessingLatency(String storeName, int version, double value, long currentTimeMs) -
recordNearlineProducerToLocalBrokerLatency
public void recordNearlineProducerToLocalBrokerLatency(String storeName, int version, double value, long timestamp) -
recordMaxIdleTime
-
recordBatchProcessingRequest
-
recordBatchProcessingRequestError
-
recordBatchProcessingLatency
public void recordBatchProcessingLatency(String storeName, int version, double latency, long timestamp) -
recordConsumerQueuePutTime
-
recordStorageEnginePutTime
-
recordStorageEngineDeleteTime
-
recordConsumerActionTime
-
recordLongRunningTaskCheckTime
-
recordViewWriterProduceTime
-
recordViewWriterAckTime
-
recordProducerEnqueueTime
-
recordProducerCompressTime
-
recordProducerSynchronizeTime
-
recordPartialUpdateTime
public void recordPartialUpdateTime(String storeName, int version, VenicePartialUpdateOperation op, double latencyMs) -
recordDcrLookupTime
public void recordDcrLookupTime(String storeName, int version, VeniceRecordType recordType, double latencyMs) -
recordDcrMergeTime
public void recordDcrMergeTime(String storeName, int version, VeniceDCROperation op, double latencyMs) -
recordUnexpectedMessageCount
-
recordStoreMetadataInconsistentCount
-
recordResubscriptionFailureCount
-
recordPartialUpdateCacheHitCount
-
recordChecksumVerificationFailureCount
-
recordIngestionFailureCount
public void recordIngestionFailureCount(String storeName, int version, VeniceIngestionFailureReason reason) -
recordDcrLookupCacheHitCount
public void recordDcrLookupCacheHitCount(String storeName, int version, VeniceRecordType recordType) -
recordBytesConsumedAsUncompressedSize
-
recordKeySize
-
recordValueSize
-
recordAssembledSize
public void recordAssembledSize(String storeName, int version, VeniceRecordType recordType, long bytes) -
recordAssembledSizeRatio
-