Class AggVersionedStorageEngineStats

java.lang.Object
com.linkedin.davinci.stats.AbstractVeniceAggVersionedStats<com.linkedin.davinci.stats.AggVersionedStorageEngineStats.StorageEngineStatsWrapper,com.linkedin.davinci.stats.AggVersionedStorageEngineStats.StorageEngineStatsReporter>
com.linkedin.davinci.stats.AggVersionedStorageEngineStats
All Implemented Interfaces:
StoreDataChangedListener

public class AggVersionedStorageEngineStats extends AbstractVeniceAggVersionedStats<com.linkedin.davinci.stats.AggVersionedStorageEngineStats.StorageEngineStatsWrapper,com.linkedin.davinci.stats.AggVersionedStorageEngineStats.StorageEngineStatsReporter>
Aggregated versioned storage engine stats with per-store Tehuti reporters and OTel metrics.

OTel stats lifecycle: OTel stats are created lazily by getOrCreateOtelStats(java.lang.String) and updated by onVersionInfoUpdated(java.lang.String, int, int) via computeIfPresent. This class does NOT override loadAllStats(), and AbstractVeniceAggVersionedStats always calls it from its own constructor. As a result, onVersionInfoUpdated and cleanupVersionResources are called from within super(), before the subclass constructor has run at all — meaning otelStatsMap is still null at that point. This makes the null guards in those overrides mandatory.

  • Constructor Details

    • AggVersionedStorageEngineStats

      public AggVersionedStorageEngineStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, boolean unregisterMetricForDeletedStoreEnabled, String clusterName)
    • AggVersionedStorageEngineStats

      public AggVersionedStorageEngineStats(io.tehuti.metrics.MetricsRepository metricsRepository, ReadOnlyStoreRepository metadataRepository, boolean unregisterMetricForDeletedStoreEnabled, double diskSizeDropAlertThreshold, String clusterName)
  • Method Details