Class MetricEntityStateBase
java.lang.Object
com.linkedin.venice.stats.metrics.AsyncMetricEntityState
com.linkedin.venice.stats.metrics.MetricEntityState
com.linkedin.venice.stats.metrics.MetricEntityStateBase
This version of
MetricEntityState is used when the metric entity has no dynamic dimensions.
The base Attributes that are common for all invocation of this instance are passed in the
constructor and used during every record() call.-
Nested Class Summary
Nested classes/interfaces inherited from class com.linkedin.venice.stats.metrics.AsyncMetricEntityState
AsyncMetricEntityState.TehutiSensorRegistrationFunction -
Field Summary
Fields inherited from class com.linkedin.venice.stats.metrics.AsyncMetricEntityState
metricEntity, otelMetric, otelRepository, tehutiSensor -
Method Summary
Modifier and TypeMethodDescriptionstatic MetricEntityStateBasecreate(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, AsyncMetricEntityState.TehutiSensorRegistrationFunction registerTehutiSensorFn, TehutiMetricNameEnum tehutiMetricNameEnum, List<io.tehuti.metrics.MeasurableStat> tehutiMetricStats, Map<VeniceMetricsDimensions, String> baseDimensionsMap, io.opentelemetry.api.common.Attributes baseAttributes) Overloaded Factory method for constructor with Tehuti parametersstatic MetricEntityStateBasecreate(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, Map<VeniceMetricsDimensions, String> baseDimensionsMap, io.opentelemetry.api.common.Attributes baseAttributes) Factory method to keep the API consistent with other subclasses likeMetricEntityStateOneEnumprotected Iterable<MetricAttributesData>Returns an iterable of all MetricAttributesData for observable counter reporting.io.opentelemetry.api.common.Attributesvisibility for testingvoidrecord(double value) voidrecord(long value) Methods inherited from class com.linkedin.venice.stats.metrics.MetricEntityState
isObservableCounter, record, record, recordOtelMetric, recordOtelMetric, registerObservableCounterIfNeededMethods inherited from class com.linkedin.venice.stats.metrics.AsyncMetricEntityState
getTehutiSensor, setOtelMetric, setTehutiSensor
-
Method Details
-
create
public static MetricEntityStateBase create(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, Map<VeniceMetricsDimensions, String> baseDimensionsMap, io.opentelemetry.api.common.Attributes baseAttributes) Factory method to keep the API consistent with other subclasses likeMetricEntityStateOneEnum -
create
public static MetricEntityStateBase create(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, AsyncMetricEntityState.TehutiSensorRegistrationFunction registerTehutiSensorFn, TehutiMetricNameEnum tehutiMetricNameEnum, List<io.tehuti.metrics.MeasurableStat> tehutiMetricStats, Map<VeniceMetricsDimensions, String> baseDimensionsMap, io.opentelemetry.api.common.Attributes baseAttributes) Overloaded Factory method for constructor with Tehuti parameters -
record
public void record(double value) -
record
public void record(long value) -
getAllMetricAttributesData
Description copied from class:MetricEntityStateReturns an iterable of all MetricAttributesData for observable counter reporting. Subclasses must implement this to provide iteration over their specific EnumMap structure. Returns null if metrics are not enabled or no data exists.- Specified by:
getAllMetricAttributesDatain classMetricEntityState
-
getAttributes
public io.opentelemetry.api.common.Attributes getAttributes()visibility for testing
-