Class AsyncMetricEntityState

java.lang.Object
com.linkedin.venice.stats.metrics.AsyncMetricEntityState
Direct Known Subclasses:
AsyncMetricEntityStateBase, MetricEntityState

public abstract class AsyncMetricEntityState extends Object
Abstract operational state of a metric entity. Subclassed by:
  1. AsyncMetricEntityStateBase — async gauge with a fixed attribute set (no dynamic dimensions).
  2. MetricEntityState — non-async metrics (sync counter, histogram, gauge) and observable counters. Provides the record() API.
Async gauges with enum dimensions use AsyncMetricEntityStateOneEnum / AsyncMetricEntityStateTwoEnums instead — these register a single multi-emit observable gauge per metric entity and do not subclass this base.

This class holds:

  • Whether OTel is enabled.
  • The MetricEntity definition.
  • At most one OTel instrument (stored in otelMetric).
  • At most one Tehuti sensor. When one OTel metric corresponds to multiple Tehuti sensors (e.g., two Tehuti sensors mapped to a single OTel metric via a dimension), there are multiple instances of this class each with the same OTel instrument handle but a different Tehuti sensor.