Class AddVersionLatencyStats

java.lang.Object
com.linkedin.venice.stats.AbstractVeniceStats
com.linkedin.venice.controller.stats.AddVersionLatencyStats

public class AddVersionLatencyStats extends AbstractVeniceStats
Tracks per-component latency for the ADD_VERSION admin message pipeline.

All sensors share a single OTel metric entity (AddVersionLatencyStats.AddVersionLatencyOtelMetricEntity.ADMIN_CONSUMPTION_MESSAGE_PHASE_START_TO_END_PROCESSING_TIME_PER_COMPONENT) and are differentiated by the AdminMessageProcessingComponent dimension. This class always records with AdminMessageType.ADD_VERSION; the AdminMessageType dimension exists on the metric so that other admin message types can reuse the same metric entity for their own per-component breakdowns in the future.

The following components are tracked (all in milliseconds):

  • retireOldVersions – Measures the time taken to retire outdated store versions.
  • resourceAssignmentWait – Captures time spent waiting for node resource assignments.
  • failureHandling – Tracks latency during version creation failure handling.
  • existingVersionHandling – Measures latency for add version requests where the source version already exists.
  • startOfPush – Records the time taken to send the start-of-push signal.
  • batchTopicCreation – Tracks latency for creating batch topics (used by both child and parent controllers).
  • helixResourceCreation – Monitors the time required to create Helix storage cluster resources.
  • Constructor Details

    • AddVersionLatencyStats

      public AddVersionLatencyStats(io.tehuti.metrics.MetricsRepository metricsRepository, String clusterName)
  • Method Details

    • recordRetireOldVersionsLatency

      public void recordRetireOldVersionsLatency(long latency)
    • recordResourceAssignmentWaitLatency

      public void recordResourceAssignmentWaitLatency(long latency)
    • recordExistingSourceVersionHandlingLatency

      public void recordExistingSourceVersionHandlingLatency(long latency)
    • recordStartOfPushLatency

      public void recordStartOfPushLatency(long latency)
    • recordBatchTopicCreationLatency

      public void recordBatchTopicCreationLatency(long latency)
    • recordHelixResourceCreationLatency

      public void recordHelixResourceCreationLatency(long latency)
    • recordVersionCreationFailureLatency

      public void recordVersionCreationFailureLatency(long latency)