Class HeartbeatVersionedStats
- java.lang.Object
-
- com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats<HeartbeatStat,HeartbeatStatReporter>
-
- com.linkedin.davinci.stats.ingestion.heartbeat.HeartbeatVersionedStats
-
- All Implemented Interfaces:
StoreDataChangedListener
public class HeartbeatVersionedStats extends AbstractVeniceAggVersionedStats<HeartbeatStat,HeartbeatStatReporter>
-
-
Field Summary
-
Fields inherited from class com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats
metadataRepository
-
-
Constructor Summary
Constructors Constructor Description HeartbeatVersionedStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, java.util.function.Supplier<HeartbeatStat> statsInitiator, StatsSupplier<HeartbeatStatReporter> reporterSupplier, java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,HeartbeatTimeStampEntry>>>> leaderMonitors, java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,HeartbeatTimeStampEntry>>>> followerMonitors)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
handleStoreChanged(Store store)
void
handleStoreCreated(Store store)
Do NOT try to acquire the lock of store repository again in the implementation, otherwise a dead lock issue will happen.void
loadAllStats()
void
recordFollowerLag(java.lang.String storeName, int version, java.lang.String region, long heartbeatTs, boolean isReadyToServe)
void
recordLeaderLag(java.lang.String storeName, int version, java.lang.String region, long heartbeatTs)
-
Methods inherited from class com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats
addStore, getCurrentVersion, getFutureVersion, getStats, getTotalStats, handleStoreDeleted, isFutureVersion, recordVersionedAndTotalStat, registerConditionalStats, updateStatsVersionInfo, updateTotalStats
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.linkedin.venice.meta.StoreDataChangedListener
handleStoreDeleted
-
-
-
-
Constructor Detail
-
HeartbeatVersionedStats
public HeartbeatVersionedStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, java.util.function.Supplier<HeartbeatStat> statsInitiator, StatsSupplier<HeartbeatStatReporter> reporterSupplier, java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,HeartbeatTimeStampEntry>>>> leaderMonitors, java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,HeartbeatTimeStampEntry>>>> followerMonitors)
-
-
Method Detail
-
recordLeaderLag
public void recordLeaderLag(java.lang.String storeName, int version, java.lang.String region, long heartbeatTs)
-
recordFollowerLag
public void recordFollowerLag(java.lang.String storeName, int version, java.lang.String region, long heartbeatTs, boolean isReadyToServe)
-
loadAllStats
public void loadAllStats()
- Overrides:
loadAllStats
in classAbstractVeniceAggVersionedStats<HeartbeatStat,HeartbeatStatReporter>
-
handleStoreCreated
public void handleStoreCreated(Store store)
Description copied from interface:StoreDataChangedListener
Do NOT try to acquire the lock of store repository again in the implementation, otherwise a dead lock issue will happen.- Specified by:
handleStoreCreated
in interfaceStoreDataChangedListener
- Overrides:
handleStoreCreated
in classAbstractVeniceAggVersionedStats<HeartbeatStat,HeartbeatStatReporter>
-
handleStoreChanged
public void handleStoreChanged(Store store)
- Specified by:
handleStoreChanged
in interfaceStoreDataChangedListener
- Overrides:
handleStoreChanged
in classAbstractVeniceAggVersionedStats<HeartbeatStat,HeartbeatStatReporter>
-
-