Class IngestionTimestampEntry

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

public class IngestionTimestampEntry extends Object
Represents a mutable timestamp entry for ingestion monitoring. This entry can track timestamps for heartbeat messages as well as regular data records if record-level timestamp tracking is enabled. Fields are volatile to ensure visibility when written by ingestion threads and read by reporter threads. Updates are performed in-place to avoid object allocations on the hot path.
  • Field Details

    • readyToServe

      public volatile boolean readyToServe
      Whether this timestamp entry is for a partition which is ready to serve
    • consumedFromUpstream

      public volatile boolean consumedFromUpstream
      Whether this timestamp entry was consumed from input or if the system initialized it as a default entry
    • heartbeatTimestamp

      public volatile long heartbeatTimestamp
      The heartbeat timestamp associated with this entry. This is the timestamp of the last heartbeat control message processed for this partition.
    • recordTimestamp

      public volatile long recordTimestamp
      The record-level timestamp associated with this entry. This is the timestamp of the last regular data record processed for this partition. Only populated if record-level timestamp tracking is enabled. When record-level tracking is disabled, this will be the same as heartbeatTimestamp.
  • Constructor Details

    • IngestionTimestampEntry

      public IngestionTimestampEntry(long timestamp, boolean readyToServe, boolean consumedFromUpstream)
    • IngestionTimestampEntry

      public IngestionTimestampEntry(long heartbeatTimestamp, long recordTimestamp, boolean readyToServe, boolean consumedFromUpstream)