Class MetricEntityStateTwoEnums<E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface>
java.lang.Object
com.linkedin.venice.stats.metrics.AsyncMetricEntityState
com.linkedin.venice.stats.metrics.MetricEntityState
com.linkedin.venice.stats.metrics.MetricEntityStateTwoEnums<E1,E2>
public class MetricEntityStateTwoEnums<E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface>
extends MetricEntityState
Similar to
MetricEntityStateOneEnum but with two dynamic dimensions and 2 level EnumMap-
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 <E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface>
MetricEntityStateTwoEnums<E1,E2> create(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, AsyncMetricEntityState.TehutiSensorRegistrationFunction registerTehutiSensorFn, TehutiMetricNameEnum tehutiMetricNameEnum, List<io.tehuti.metrics.MeasurableStat> tehutiMetricStats, Map<VeniceMetricsDimensions, String> baseDimensionsMap, Class<E1> enumTypeClass1, Class<E2> enumTypeClass2) Overloaded Factory method for constructor with Tehuti parametersstatic <E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface>
MetricEntityStateTwoEnums<E1,E2> create(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, Map<VeniceMetricsDimensions, String> baseDimensionsMap, Class<E1> enumTypeClass1, Class<E2> enumTypeClass2) Factory method with named parameters to ensure the passed in enumTypeClass are in the same order as Eprotected Iterable<MetricAttributesData>Returns an iterable of all MetricAttributesData for observable counter reporting.io.opentelemetry.api.common.AttributesgetAttributes(E1 dimension1, E2 dimension2) Returns the Attributes for the given dimensions.visible for testingvoidvoidMethods 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 <E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface> MetricEntityStateTwoEnums<E1,E2> create(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, Map<VeniceMetricsDimensions, String> baseDimensionsMap, Class<E1> enumTypeClass1, Class<E2> enumTypeClass2) Factory method with named parameters to ensure the passed in enumTypeClass are in the same order as E -
create
public static <E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface> MetricEntityStateTwoEnums<E1,E2> create(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, AsyncMetricEntityState.TehutiSensorRegistrationFunction registerTehutiSensorFn, TehutiMetricNameEnum tehutiMetricNameEnum, List<io.tehuti.metrics.MeasurableStat> tehutiMetricStats, Map<VeniceMetricsDimensions, String> baseDimensionsMap, Class<E1> enumTypeClass1, Class<E2> enumTypeClass2) Overloaded Factory method for constructor with Tehuti parameters -
getAttributes
Returns the Attributes for the given dimensions. -
record
-
record
-
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
-
getMetricAttributesDataEnumMap
visible for testing
-