Package com.linkedin.davinci.stats
Class AggVersionedDIVStats
java.lang.Object
com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats<DIVStats,DIVStatsReporter>
com.linkedin.davinci.stats.AggVersionedDIVStats
- All Implemented Interfaces:
StoreDataChangedListener
public class AggVersionedDIVStats
extends AbstractVeniceAggVersionedStats<DIVStats,DIVStatsReporter>
Aggregated versioned DIV stats with dual Tehuti + OTel recording.
Recording architecture: Each public recording method (e.g., recordSuccessMsg(java.lang.String, int))
records to both Tehuti (via recordVersionedAndTotalStat into total + per-version
DIVStats objects) and OTel (once per call, with store/cluster/version-role dimensions).
OTel totals are derived at query time by aggregating across the version-role dimension —
no separate OTel recording for total stats.
Version classification: The version number passed to each recording method is classified
as CURRENT, FUTURE, or BACKUP for the OTel VERSION_ROLE dimension. Versions not matching
the registered current or future version default to BACKUP.
-
Field Summary
Fields inherited from class com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats
metadataRepository -
Constructor Summary
ConstructorsConstructorDescriptionAggVersionedDIVStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, boolean unregisterMetricForDeletedStoreEnabled, String clusterName) -
Method Summary
Modifier and TypeMethodDescriptionvoidhandleStoreDeleted(String storeName) protected voidonVersionInfoUpdated(String storeName, int currentVersion, int futureVersion) AbstractVeniceAggVersionedStats.addStore(com.linkedin.venice.meta.Store)calls this from the super() constructor beforeversionInfoMapis initialized.voidrecordBenignLeaderOffsetRewind(String storeName, int version) voidrecordBenignLeaderProducerFailure(String storeName, int version) voidrecordCorruptedMsg(String storeName, int version) voidrecordDuplicateMsg(String storeName, int version) voidrecordException(String storeName, int version, DataValidationException e) voidrecordLeaderProducerFailure(String storeName, int version) voidrecordMissingMsg(String storeName, int version) voidrecordPotentiallyLossyLeaderOffsetRewind(String storeName, int version) voidrecordSuccessMsg(String storeName, int version) protected voidupdateTotalStats(String storeName) Some versioned stats might always increasing; in this case, the value in the total stats should be updated with the aggregated values across the new version list.Methods inherited from class com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats
addStore, cleanupVersionResources, getCurrentVersion, getFutureVersion, getMetricsRepository, getStats, getTotalStats, handleStoreChanged, handleStoreCreated, loadAllStats, recordVersionedAndTotalStat, registerConditionalStats, updateStatsVersionInfoMethods 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
-
AggVersionedDIVStats
public AggVersionedDIVStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, boolean unregisterMetricForDeletedStoreEnabled, String clusterName)
-
-
Method Details
-
recordException
-
recordDuplicateMsg
-
recordMissingMsg
-
recordCorruptedMsg
-
recordSuccessMsg
-
recordBenignLeaderOffsetRewind
-
recordPotentiallyLossyLeaderOffsetRewind
-
recordLeaderProducerFailure
-
recordBenignLeaderProducerFailure
-
onVersionInfoUpdated
AbstractVeniceAggVersionedStats.addStore(com.linkedin.venice.meta.Store)calls this from the super() constructor beforeversionInfoMapis initialized.- Overrides:
onVersionInfoUpdatedin classAbstractVeniceAggVersionedStats<DIVStats,DIVStatsReporter>
-
handleStoreDeleted
- Specified by:
handleStoreDeletedin interfaceStoreDataChangedListener- Overrides:
handleStoreDeletedin classAbstractVeniceAggVersionedStats<DIVStats,DIVStatsReporter>
-
updateTotalStats
Description copied from class:AbstractVeniceAggVersionedStatsSome versioned stats might always increasing; in this case, the value in the total stats should be updated with the aggregated values across the new version list.- Overrides:
updateTotalStatsin classAbstractVeniceAggVersionedStats<DIVStats,DIVStatsReporter>
-