Class AbstractVeniceStats

java.lang.Object
com.linkedin.venice.stats.AbstractVeniceStats
Direct Known Subclasses:
AbstractVeniceHttpStats, AbstractVeniceStatsReporter, AdminConsumptionStats, AdminOperationsStats, BackupVersionOptimizationServiceStats, BasicConsumerStats, ClusterStats, DisabledPartitionStats, DiskHealthStats, DnsLookupStats, ErrorPartitionStats, HealthCheckStats, HeartbeatBasedCheckerStats, HelixGroupStats, HelixMessageChannelStats, HostHealthStats, HostLevelIngestionStats, HttpConnectionPoolStats, IsolatedIngestionProcessHeartbeatStats, IsolatedIngestionProcessStats, KafkaConsumerServiceStats, LeakedResourceCleanerStats, MetadataUpdateStats, NativeMetadataRepositoryStats, ParticipantStoreConsumptionStats, PartitionHealthStats, PushHealthStats, PushJobStatusStats, PushStatusCleanUpStats, RetryManagerStats, RocksDBMemoryStats, RocksDBStats, RouterCurrentVersionStats, RouterThrottleStats, SecurityStats, ServerConnectionStats, ServerMetadataServiceStats, ServerReadQuotaUsageStats, SparkServerStats, StaleVersionStats, StoreBackendStats, StoreBackupVersionCleanupServiceStats, StoreBufferServiceStats, StoreCacheStats, StoreStats, StuckConsumerRepairStats, SystemStoreHealthCheckStats, ThreadPoolStats, TopicCleanupServiceStats, VeniceAdminStats, VeniceJVMStats, VeniceLockStats, VeniceProducerMetrics, VeniceVersionedStatsReporter, VeniceWriterStats, ZkClientStatusStats

public class AbstractVeniceStats extends Object
  • Field Details

  • Constructor Details

    • AbstractVeniceStats

      public AbstractVeniceStats(io.tehuti.metrics.MetricsRepository metricsRepository, String name)
  • Method Details

    • getMetricsRepository

      public io.tehuti.metrics.MetricsRepository getMetricsRepository()
    • isTotalStats

      protected final boolean isTotalStats()
    • getName

      public final String getName()
    • registerSensor

      protected io.tehuti.metrics.Sensor registerSensor(String sensorName, io.tehuti.metrics.MeasurableStat... stats)
    • registerSensor

      protected io.tehuti.metrics.Sensor registerSensor(io.tehuti.metrics.NamedMeasurableStat... stats)
    • registerSensorAttributeGauge

      protected void registerSensorAttributeGauge(String sensorName, String attributeName, io.tehuti.metrics.stats.AsyncGauge stat)
    • registerSensor

      protected io.tehuti.metrics.Sensor registerSensor(String sensorName, io.tehuti.metrics.Sensor[] parents, io.tehuti.metrics.MeasurableStat... stats)
    • registerSensor

      protected io.tehuti.metrics.Sensor registerSensor(String sensorFullName, io.tehuti.metrics.MetricConfig config, io.tehuti.metrics.Sensor[] parents, io.tehuti.metrics.MeasurableStat... stats)
      N.B.: This function is private because it requires the full sensor name, which should be generated from getSensorFullName(String), and is therefore less user-friendly for developers of subclasses. The other functions which call this one require just the partial sensor name, which is less error-prone.
    • getMetricFullName

      protected String getMetricFullName(io.tehuti.metrics.Sensor sensor, io.tehuti.metrics.MeasurableStat stat)
    • unregisterAllSensors

      protected void unregisterAllSensors()
    • registerSensorWithAggregate

      protected io.tehuti.metrics.Sensor registerSensorWithAggregate(String sensorName, Supplier<io.tehuti.metrics.MeasurableStat[]> stats)
    • registerSensorWithAggregate

      protected io.tehuti.metrics.Sensor registerSensorWithAggregate(String sensorName, io.tehuti.metrics.MetricConfig config, Supplier<io.tehuti.metrics.MeasurableStat[]> stats)
    • registerPerStoreAndTotalSensor

      protected io.tehuti.metrics.Sensor registerPerStoreAndTotalSensor(String sensorName, AbstractVeniceStats totalStats, Supplier<io.tehuti.metrics.Sensor> totalSensor, io.tehuti.metrics.MeasurableStat... stats)
      Register sensor for both total and per store stats. When per-store stats is recorded, the total stats would be recorded as well.
      Parameters:
      sensorName -
      totalStats -
      totalSensor -
      stats -
      Returns:
    • registerOnlyTotalSensor

      protected io.tehuti.metrics.Sensor registerOnlyTotalSensor(String sensorName, AbstractVeniceStats totalStats, Supplier<io.tehuti.metrics.Sensor> totalSensor, io.tehuti.metrics.MeasurableStat... stats)
    • registerOnlyTotalRate

      protected LongAdderRateGauge registerOnlyTotalRate(String sensorName, AbstractVeniceStats totalStats, Supplier<LongAdderRateGauge> totalSensor, Time time)
      Only register sensor for total stats. If not provided, create a new one.
      Parameters:
      sensorName -
      totalStats -
      totalSensor -
      time -
      Returns:
    • registerSensorIfAbsent

      protected io.tehuti.metrics.Sensor registerSensorIfAbsent(String sensorName, io.tehuti.metrics.MeasurableStat... stats)
    • registerSensorIfAbsent

      protected io.tehuti.metrics.Sensor registerSensorIfAbsent(io.tehuti.metrics.NamedMeasurableStat... stats)
    • registerSensorIfAbsent

      protected io.tehuti.metrics.Sensor registerSensorIfAbsent(String resourceName, String sensorName, io.tehuti.metrics.MetricConfig config, io.tehuti.metrics.Sensor[] parents, io.tehuti.metrics.MeasurableStat... stats)
    • getSensorFullName

      protected String getSensorFullName(String sensorName)
    • getSensorFullName

      public static String getSensorFullName(String resourceName, String sensorName)
    • avgAndMax

      protected final io.tehuti.metrics.MeasurableStat[] avgAndMax()
    • minAndMax

      protected final io.tehuti.metrics.MeasurableStat[] minAndMax()
    • avgAndTotal

      protected final io.tehuti.metrics.MeasurableStat[] avgAndTotal()