Enum Class AdminMessageProcessingPhase

java.lang.Object
java.lang.Enum<AdminMessageProcessingPhase>
com.linkedin.venice.stats.dimensions.AdminMessageProcessingPhase
All Implemented Interfaces:
VeniceDimensionInterface, Serializable, Comparable<AdminMessageProcessingPhase>, Constable

public enum AdminMessageProcessingPhase extends Enum<AdminMessageProcessingPhase> implements VeniceDimensionInterface
Dimension enum representing the sub-phases of admin message processing pipelines. Each value corresponds to a distinct phase within an admin message handler, enabling per-phase latency breakdown within the controller.admin_consumption.message.processing_time_per_component OTel histogram.

This dimension is paired with VeniceMetricsDimensions.VENICE_ADMIN_MESSAGE_TYPE so that phases can be attributed to the specific admin message type being processed. Currently the values below cover the AddVersion pipeline, but new values should be added here as other admin message types gain per-phase instrumentation. Maps to VeniceMetricsDimensions.VENICE_ADMIN_MESSAGE_PROCESSING_PHASE.

  • Enum Constant Details

    • RETIRE_OLD_VERSIONS

      public static final AdminMessageProcessingPhase RETIRE_OLD_VERSIONS
      Time spent retiring outdated store versions before creating a new one.
    • RESOURCE_ASSIGNMENT_WAIT

      public static final AdminMessageProcessingPhase RESOURCE_ASSIGNMENT_WAIT
      Time spent waiting for Helix to assign storage node resources for the new version.
    • FAILURE_HANDLING

      public static final AdminMessageProcessingPhase FAILURE_HANDLING
      Time spent handling version creation failures (cleanup, error propagation).
    • EXISTING_VERSION_HANDLING

      public static final AdminMessageProcessingPhase EXISTING_VERSION_HANDLING
      Time spent handling the existing source version (e.g., checking compatibility, preparing swap).
    • START_OF_PUSH

      public static final AdminMessageProcessingPhase START_OF_PUSH
      Time spent sending the start-of-push signal to initiate data ingestion.
    • BATCH_TOPIC_CREATION

      public static final AdminMessageProcessingPhase BATCH_TOPIC_CREATION
      Time spent creating Kafka batch topics (version topics) for the new store version.
    • HELIX_RESOURCE_CREATION

      public static final AdminMessageProcessingPhase HELIX_RESOURCE_CREATION
      Time spent creating Helix storage cluster resources for partition assignment.
  • Method Details

    • values

      public static AdminMessageProcessingPhase[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static AdminMessageProcessingPhase valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getDimensionName

      public VeniceMetricsDimensions getDimensionName()
      Description copied from interface: VeniceDimensionInterface
      Dimension name: Returns the VeniceMetricsDimensions for the enum. All the instances of a Enum class should have the same dimension name. Ideally this could have been a static variable/method in the Enum class, but to enforce having this method via this interface, it is made as a non-static method.
      Specified by:
      getDimensionName in interface VeniceDimensionInterface
    • getDimensionValue

      public String getDimensionValue()
      Description copied from interface: VeniceDimensionInterface
      Dimension value: Returns the dimension value for each enum instance.
      Specified by:
      getDimensionValue in interface VeniceDimensionInterface