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, boolean uniqueIngestedKeyCountHllEnabled, boolean activeKeyCountEnabled)
  • 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. After this call each async-gauge's liveStateResolver returns null for every role, so no data points are emitted for this store on subsequent collections. The SDK instruments themselves are not deregistered (OTel does not support it), so this object is retained until JVM shutdown — only relevant on store deletion or when no versions remain on this host.
    • setIngestionTaskPushTimeoutGauge

      public void setIngestionTaskPushTimeoutGauge(int version, int value)
      Records the push-timeout gauge only while a task is registered for version.
    • recordIdleTime

      public void recordIdleTime(int version, long idleTimeMs)
      Records the idle-time gauge only while a task is registered for version.
    • 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)
    • recordBatchPushRecordCountMatch

      public void recordBatchPushRecordCountMatch(int version, long value)
    • recordBatchPushRecordCountMismatch

      public void recordBatchPushRecordCountMismatch(int version, long value)
    • recordRecordCountMismatchFailure

      public void recordRecordCountMismatchFailure(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)
    • recordPartialUpdateAmplificationAlertCount

      public void recordPartialUpdateAmplificationAlertCount(int version, long value)
    • recordActiveKeyCountInvalidation

      public void recordActiveKeyCountInvalidation(int version)