Class VeniceOpenTelemetryMetricsRepository

java.lang.Object
com.linkedin.venice.stats.VeniceOpenTelemetryMetricsRepository

public class VeniceOpenTelemetryMetricsRepository extends Object
  • Field Details

    • REDUNDANT_LOG_FILTER

      public static final io.tehuti.utils.RedundantLogFilter REDUNDANT_LOG_FILTER
    • DEFAULT_METRIC_PREFIX

      public static final String DEFAULT_METRIC_PREFIX
      See Also:
  • Constructor Details

    • VeniceOpenTelemetryMetricsRepository

      public VeniceOpenTelemetryMetricsRepository(VeniceMetricsConfig metricsConfig)
  • Method Details

    • createDoubleHistogram

      public io.opentelemetry.api.metrics.DoubleHistogram createDoubleHistogram(MetricEntity metricEntity)
    • createLongCounter

      public io.opentelemetry.api.metrics.LongCounter createLongCounter(MetricEntity metricEntity)
    • createLongGuage

      public io.opentelemetry.api.metrics.LongGauge createLongGuage(MetricEntity metricEntity)
    • createAsyncLongGauge

      public io.opentelemetry.api.metrics.ObservableLongGauge createAsyncLongGauge(MetricEntity metricEntity, @Nonnull LongSupplier asyncCallback, @Nonnull io.opentelemetry.api.common.Attributes attributes)
      Asynchronous gauge that will call the callback during metrics collection. This is useful for metrics that are not updated frequently or require expensive computation. For now, the attributes are passed in as a parameter while creating the gauge, ie, only MetricEntityStateBase is supported for now.
    • createInstrument

      public Object createInstrument(MetricEntity metricEntity, LongSupplier asyncCallback, io.opentelemetry.api.common.Attributes attributes)
    • createInstrument

      public Object createInstrument(MetricEntity metricEntity)
    • getDimensionName

      public String getDimensionName(VeniceMetricsDimensions dimension)
    • createAttributes

      public io.opentelemetry.api.common.Attributes createAttributes(MetricEntity metricEntity, Map<VeniceMetricsDimensions,String> baseDimensionsMap, VeniceDimensionInterface... additionalDimensionEnums)
    • createAttributes

      public io.opentelemetry.api.common.Attributes createAttributes(MetricEntity metricEntity, Map<VeniceMetricsDimensions,String> baseDimensionsMap, Map<VeniceMetricsDimensions,String> additionalDimensionsMap)
    • close

      public void close()
    • recordFailureMetric

      public void recordFailureMetric(MetricEntity metricEntity, Exception e)
    • recordFailureMetric

      public void recordFailureMetric(MetricEntity metricEntity, String error)
    • emitOpenTelemetryMetrics

      public boolean emitOpenTelemetryMetrics()
    • getMetricsConfig

      public VeniceMetricsConfig getMetricsConfig()
    • getMetricFormat

      public VeniceOpenTelemetryMetricNamingFormat getMetricFormat()
    • getRecordFailureMetric

      public MetricEntityStateBase getRecordFailureMetric()