java.lang.Object
com.linkedin.davinci.stats.ingestion.heartbeat.HeartbeatKey

public final class HeartbeatKey extends Object
Composite key for the flattened heartbeat timestamp map.

Identity is (storeName, version, partition, region). The SLO classification labels writeType, chunkingStatus, locality are passenger fields: resolved once when the caller (SIT) builds the key, carried along the per-record hot path to avoid repeated derivation, and intentionally excluded from equals(java.lang.Object)/hashCode.

  • Constructor Details

    • HeartbeatKey

      public HeartbeatKey(String storeName, int version, int partition, String region)
      Lookup-only constructor: builds a key without the SLO labels. Use only when the resulting key is consumed for identity (map lookup, equality) and never flows to per-record OTel emission. The canonical hot-path constructor is the 7-arg variant below — that one is what the SIT/PCS pipeline uses so each record carries pre-resolved enum references.
    • HeartbeatKey

      public HeartbeatKey(String storeName, int version, int partition, String region, VeniceStoreWriteType writeType, VeniceChunkingStatus chunkingStatus, VeniceRegionLocality locality)
  • Method Details

    • getWriteType

      public VeniceStoreWriteType getWriteType()
      Public accessor for cross-package tests; the package-private field is the canonical source.
    • getChunkingStatus

      public VeniceChunkingStatus getChunkingStatus()
      Public accessor for cross-package tests; the package-private field is the canonical source.
    • getLocality

      public VeniceRegionLocality getLocality()
      Public accessor for cross-package tests; the package-private field is the canonical source.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object