Package com.linkedin.venice.stats.metrics
package com.linkedin.venice.stats.metrics
-
ClassDescriptionAbstract operational state of a metric entity.create the metrics/SensorsThis version of
AsyncMetricEntityStateis used when the metric entity has no dynamic dimensions.Async state wrapper for a metric with one enum dimension (MetricType.ASYNC_GAUGEorMetricType.ASYNC_DOUBLE_GAUGE).AsyncMetricEntityStateTwoEnums<E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface> Async state wrapper for a metric with two enum dimensions (MetricType.ASYNC_GAUGEorMetricType.ASYNC_DOUBLE_GAUGE).Holder for the four named functional interfaces that wire the two-callback (liveness + value) contract used byAsyncMetricEntityStateOneEnumandAsyncMetricEntityStateTwoEnums.Resolves the backing state for one enum dimension value, ornullwhen the combo is dormant.AsyncMetricResolvers.LiveStateResolverTwoEnums<E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface, S> Resolves the backing state for an(e1, e2)dimension pair, ornullwhen the pair is dormant.AsyncMetricResolvers.ValueResolverOneEnum<S,E extends Enum<E> & VeniceDimensionInterface> Reads adoublevalue from a non-null state plus the enum dimension.AsyncMetricResolvers.ValueResolverTwoEnums<S,E1 extends Enum<E1> & VeniceDimensionInterface, E2 extends Enum<E2> & VeniceDimensionInterface> Reads adoublevalue from a non-null state plus both enum dimensions.A holder class that contains OpenTelemetryAttributesand optionally aLongAdderfor each of that attributes for high-throughput metric recording scenarios.Metric entity class to define a metric with all its propertiesAbstract operational state of a non-async metric extended on top ofAsyncMetricEntityStateto provide common functionality for non-async metrics like record() which is not supported for async metrics.This version ofMetricEntityStateis used when the metric entity has no dynamic dimensions.MetricEntityStateFiveEnums<E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface, E3 extends Enum<E3> & VeniceDimensionInterface, E4 extends Enum<E4> & VeniceDimensionInterface, E5 extends Enum<E5> & VeniceDimensionInterface> Similar toMetricEntityStateOneEnumbut with Five dynamic dimensions and 5 level EnumMapMetricEntityStateFourEnums<E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface, E3 extends Enum<E3> & VeniceDimensionInterface, E4 extends Enum<E4> & VeniceDimensionInterface> Similar toMetricEntityStateOneEnumbut with Four dynamic dimensions and 4 level EnumMapProvides a flexible, generic, and non-caching implementation ofMetricEntityStatefor one or more dynamic dimensions, where the dimensions can be enums or arbitrary strings and do not need to be cached: This implementation should be used only in certain control-path components (such as controllers) where: 1.This version ofMetricEntityStateis used when the metric entity has one dynamic dimension which is anEnumimplementingVeniceDimensionInterface.MetricEntityStateThreeEnums<E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface, E3 extends Enum<E3> & VeniceDimensionInterface> Similar toMetricEntityStateOneEnumbut with three dynamic dimensions and 3 level EnumMapMetricEntityStateTwoEnums<E1 extends Enum<E1> & VeniceDimensionInterface,E2 extends Enum<E2> & VeniceDimensionInterface> Similar toMetricEntityStateOneEnumbut with two dynamic dimensions and 2 level EnumMapMetric type enum to define the type of metrics Venice supports via OpenTelemetryMetric Unit enum to define list of Units supported for metricsEvery venice Module that defines its set ofMetricEntityshould implement this interface.Test fixture for validating enums implementingModuleMetricEntityInterface.Expectation record for a single metric entity.Interface for creating metric names enum for tehuti metricsTest fixture for validating enums implementingTehutiMetricNameEnum.