Class MetricEntityState
java.lang.Object
com.linkedin.venice.stats.metrics.MetricEntityState
Operational state of a metric. It holds:
1. A
2. One OpenTelemetry (Otel) Instrument
3. Zero or one (out of zero for new metrics or more for existing metrics) Tehuti sensors for this Otel Metric.
One Otel instrument can cover multiple Tehuti sensors through the use of dimensions. Ideally, this class should represent a one-to-many mapping between an Otel instrument and Tehuti sensors. However, to simplify lookup during runtime, this class holds one Otel instrument and one Tehuti sensor. If an Otel instrument corresponds to multiple Tehuti sensors, there will be multiple
1. A
MetricEntity
2. One OpenTelemetry (Otel) Instrument
3. Zero or one (out of zero for new metrics or more for existing metrics) Tehuti sensors for this Otel Metric.
One Otel instrument can cover multiple Tehuti sensors through the use of dimensions. Ideally, this class should represent a one-to-many mapping between an Otel instrument and Tehuti sensors. However, to simplify lookup during runtime, this class holds one Otel instrument and one Tehuti sensor. If an Otel instrument corresponds to multiple Tehuti sensors, there will be multiple
MetricEntityState
objects, each containing the same Otel instrument but different Tehuti sensors.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
create the metrics/Sensors -
Constructor Summary
ConstructorsConstructorDescriptionMetricEntityState
(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository) MetricEntityState
(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, MetricEntityState.TehutiSensorRegistrationFunction registerTehutiSensorFn, TehutiMetricNameEnum tehutiMetricNameEnum, List<io.tehuti.metrics.MeasurableStat> tehutiMetricStats) -
Method Summary
Modifier and TypeMethodDescriptionvoid
createMetric
(VeniceOpenTelemetryMetricsRepository otelRepository, TehutiMetricNameEnum tehutiMetricNameEnum, List<io.tehuti.metrics.MeasurableStat> tehutiMetricStats, MetricEntityState.TehutiSensorRegistrationFunction registerTehutiSensorFn) void
record
(double value, io.opentelemetry.api.common.Attributes otelDimensions) void
record
(long value, io.opentelemetry.api.common.Attributes otelDimensions) void
setOtelMetric
(Object otelMetric) void
setTehutiSensor
(io.tehuti.metrics.Sensor tehutiSensor)
-
Constructor Details
-
MetricEntityState
public MetricEntityState(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository) -
MetricEntityState
public MetricEntityState(MetricEntity metricEntity, VeniceOpenTelemetryMetricsRepository otelRepository, MetricEntityState.TehutiSensorRegistrationFunction registerTehutiSensorFn, TehutiMetricNameEnum tehutiMetricNameEnum, List<io.tehuti.metrics.MeasurableStat> tehutiMetricStats)
-
-
Method Details
-
setOtelMetric
-
setTehutiSensor
public void setTehutiSensor(io.tehuti.metrics.Sensor tehutiSensor) -
createMetric
public void createMetric(VeniceOpenTelemetryMetricsRepository otelRepository, TehutiMetricNameEnum tehutiMetricNameEnum, List<io.tehuti.metrics.MeasurableStat> tehutiMetricStats, MetricEntityState.TehutiSensorRegistrationFunction registerTehutiSensorFn) -
record
public void record(long value, io.opentelemetry.api.common.Attributes otelDimensions) -
record
public void record(double value, io.opentelemetry.api.common.Attributes otelDimensions)
-