Class IngestionOtelStats

java.lang.Object
com.linkedin.davinci.stats.ingestion.IngestionOtelStats
Direct Known Subclasses:
NoOpIngestionOtelStats

public class IngestionOtelStats extends Object
OpenTelemetry metrics for ingestion statistics. Note: Tehuti metrics are managed separately in IngestionStatsReporter.
  • Constructor Details

    • IngestionOtelStats

      public IngestionOtelStats(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, String clusterName, String localRegionName, boolean ingestionOtelStatsEnabled)
  • Method Details

    • setIngestionTask

      public void setIngestionTask(int version, StoreIngestionTask task)
      Sets the StoreIngestionTask for a specific version. This enables async gauge metrics to access task data.
    • removeIngestionTask

      public void removeIngestionTask(int version)
      Removes the StoreIngestionTask and associated per-version state for a specific version.
    • close

      public void close()
      Cleans up all per-version state for this store. Call this when the store is being deleted.

      Note: OTel instruments (counters, histograms, async gauges) are NOT deregistered here. OpenTelemetry SDK does not support deregistering individual instruments from a Meter. The instruments will remain registered but will report zero/stale values until the MeterProvider is shut down.

    • setIngestionTaskPushTimeoutGauge

      public void setIngestionTaskPushTimeoutGauge(int version, int value)
    • recordIdleTime

      public void recordIdleTime(int version, long idleTimeMs)
    • emitOtelMetrics

      public boolean emitOtelMetrics()
    • updateVersionInfo

      public void updateVersionInfo(int currentVersion, int futureVersion)
    • recordSubscribePrepTime

      public void recordSubscribePrepTime(int version, double latencyMs)
    • recordIngestionTime

      public void recordIngestionTime(int version, double latencyMs)
    • recordPreprocessingLeaderTime

      public void recordPreprocessingLeaderTime(int version, double latencyMs)
    • recordPreprocessingInternalTime

      public void recordPreprocessingInternalTime(int version, double latencyMs)
    • recordProducerTime

      public void recordProducerTime(int version, double latencyMs)
    • recordBatchProcessingRequestCount

      public void recordBatchProcessingRequestCount(int version, long value)
    • recordBatchProcessingRequestRecordCount

      public void recordBatchProcessingRequestRecordCount(int version, long value)
    • recordBatchProcessingRequestErrorCount

      public void recordBatchProcessingRequestErrorCount(int version, long value)
    • recordBatchProcessingRequestTime

      public void recordBatchProcessingRequestTime(int version, double latencyMs)
    • recordDcrTotalCount

      public void recordDcrTotalCount(int version, long value)
    • recordDuplicateKeyUpdateCount

      public void recordDuplicateKeyUpdateCount(int version, long value)
    • recordRecordsConsumed

      public void recordRecordsConsumed(int version, ReplicaType replicaType, long value)
    • recordRecordsProduced

      public void recordRecordsProduced(int version, ReplicaType replicaType, long value)
    • recordBytesConsumed

      public void recordBytesConsumed(int version, ReplicaType replicaType, long value)
    • recordBytesProduced

      public void recordBytesProduced(int version, ReplicaType replicaType, long value)
    • recordProducerCallbackTime

      public void recordProducerCallbackTime(int version, ReplicaType replicaType, double latencyMs)
    • recordDcrEventCount

      public void recordDcrEventCount(int version, VeniceDCREvent event, long value)
    • recordTimeBetweenComponents

      public void recordTimeBetweenComponents(int version, VeniceIngestionSourceComponent sourceComponent, VeniceIngestionDestinationComponent destComponent, double latencyMs)
    • recordRtRecordsConsumed

      public void recordRtRecordsConsumed(int version, String sourceRegion, VeniceRegionLocality regionLocality, long count)
    • recordRtBytesConsumed

      public void recordRtBytesConsumed(int version, String sourceRegion, VeniceRegionLocality regionLocality, long bytes)
    • recordConsumerQueuePutTime

      public void recordConsumerQueuePutTime(int version, double latencyMs)
    • recordStorageEnginePutTime

      public void recordStorageEnginePutTime(int version, double latencyMs)
    • recordStorageEngineDeleteTime

      public void recordStorageEngineDeleteTime(int version, double latencyMs)
    • recordConsumerActionTime

      public void recordConsumerActionTime(int version, double latencyMs)
    • recordLongRunningTaskCheckTime

      public void recordLongRunningTaskCheckTime(int version, double latencyMs)
    • recordViewWriterProduceTime

      public void recordViewWriterProduceTime(int version, double latencyMs)
    • recordViewWriterAckTime

      public void recordViewWriterAckTime(int version, double latencyMs)
    • recordProducerEnqueueTime

      public void recordProducerEnqueueTime(int version, double latencyMs)
    • recordProducerCompressTime

      public void recordProducerCompressTime(int version, double latencyMs)
    • recordProducerSynchronizeTime

      public void recordProducerSynchronizeTime(int version, double latencyMs)
    • recordPartialUpdateTime

      public void recordPartialUpdateTime(int version, VenicePartialUpdateOperation op, double latencyMs)
    • recordDcrLookupTime

      public void recordDcrLookupTime(int version, VeniceRecordType recordType, double latencyMs)
    • recordDcrMergeTime

      public void recordDcrMergeTime(int version, VeniceDCROperation op, double latencyMs)
    • recordUnexpectedMessageCount

      public void recordUnexpectedMessageCount(int version, long value)
    • recordStoreMetadataInconsistentCount

      public void recordStoreMetadataInconsistentCount(int version, long value)
    • recordResubscriptionFailureCount

      public void recordResubscriptionFailureCount(int version, long value)
    • recordPartialUpdateCacheHitCount

      public void recordPartialUpdateCacheHitCount(int version, long value)
    • recordChecksumVerificationFailureCount

      public void recordChecksumVerificationFailureCount(int version, long value)
    • recordIngestionFailureCount

      public void recordIngestionFailureCount(int version, VeniceIngestionFailureReason reason, long value)
    • recordDcrLookupCacheHitCount

      public void recordDcrLookupCacheHitCount(int version, VeniceRecordType recordType, long value)
    • recordBytesConsumedAsUncompressedSize

      public void recordBytesConsumedAsUncompressedSize(int version, long bytes)
    • recordKeySize

      public void recordKeySize(int version, long bytes)
    • recordValueSize

      public void recordValueSize(int version, long bytes)
    • recordAssembledSize

      public void recordAssembledSize(int version, VeniceRecordType recordType, long bytes)
    • recordAssembledSizeRatio

      public void recordAssembledSizeRatio(int version, double ratio)