Class OpenTelemetryMetricSink

  • All Implemented Interfaces:
    io.grpc.MetricSink

    final class OpenTelemetryMetricSink
    extends java.lang.Object
    implements io.grpc.MetricSink
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) static class  OpenTelemetryMetricSink.MeasuresData  
      • Nested classes/interfaces inherited from interface io.grpc.MetricSink

        io.grpc.MetricSink.Registration
    • Constructor Summary

      Constructors 
      Constructor Description
      OpenTelemetryMetricSink​(io.opentelemetry.api.metrics.Meter meter, java.util.Map<java.lang.String,​java.lang.Boolean> enableMetrics, boolean disableDefaultMetrics, java.util.List<java.lang.String> optionalLabels)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addDoubleCounter​(io.grpc.DoubleCounterMetricInstrument metricInstrument, double value, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues)  
      void addLongCounter​(io.grpc.LongCounterMetricInstrument metricInstrument, long value, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues)  
      private io.opentelemetry.api.common.Attributes createAttributes​(java.util.List<java.lang.String> requiredLabelKeys, java.util.List<java.lang.String> optionalLabelKeys, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues, java.util.BitSet bitSet)  
      java.util.Map<java.lang.String,​java.lang.Boolean> getEnabledMetrics()  
      (package private) java.util.List<OpenTelemetryMetricSink.MeasuresData> getMeasures()  
      int getMeasuresSize()  
      java.util.Set<java.lang.String> getOptionalLabels()  
      void recordDoubleHistogram​(io.grpc.DoubleHistogramMetricInstrument metricInstrument, double value, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues)  
      void recordLongGauge​(io.grpc.LongGaugeMetricInstrument metricInstrument, long value, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues)  
      void recordLongHistogram​(io.grpc.LongHistogramMetricInstrument metricInstrument, long value, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues)  
      io.grpc.MetricSink.Registration registerBatchCallback​(java.lang.Runnable callback, io.grpc.CallbackMetricInstrument... metricInstruments)  
      private boolean shouldEnableMetric​(io.grpc.MetricInstrument instrument)  
      void updateMeasures​(java.util.List<io.grpc.MetricInstrument> instruments)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        private static final java.util.logging.Logger logger
      • lock

        private final java.lang.Object lock
      • openTelemetryMeter

        private final io.opentelemetry.api.metrics.Meter openTelemetryMeter
      • enableMetrics

        private final java.util.Map<java.lang.String,​java.lang.Boolean> enableMetrics
      • disableDefaultMetrics

        private final boolean disableDefaultMetrics
      • optionalLabels

        private final java.util.Set<java.lang.String> optionalLabels
    • Constructor Detail

      • OpenTelemetryMetricSink

        OpenTelemetryMetricSink​(io.opentelemetry.api.metrics.Meter meter,
                                java.util.Map<java.lang.String,​java.lang.Boolean> enableMetrics,
                                boolean disableDefaultMetrics,
                                java.util.List<java.lang.String> optionalLabels)
    • Method Detail

      • getEnabledMetrics

        public java.util.Map<java.lang.String,​java.lang.Boolean> getEnabledMetrics()
        Specified by:
        getEnabledMetrics in interface io.grpc.MetricSink
      • getOptionalLabels

        public java.util.Set<java.lang.String> getOptionalLabels()
        Specified by:
        getOptionalLabels in interface io.grpc.MetricSink
      • getMeasuresSize

        public int getMeasuresSize()
        Specified by:
        getMeasuresSize in interface io.grpc.MetricSink
      • addDoubleCounter

        public void addDoubleCounter​(io.grpc.DoubleCounterMetricInstrument metricInstrument,
                                     double value,
                                     java.util.List<java.lang.String> requiredLabelValues,
                                     java.util.List<java.lang.String> optionalLabelValues)
        Specified by:
        addDoubleCounter in interface io.grpc.MetricSink
      • addLongCounter

        public void addLongCounter​(io.grpc.LongCounterMetricInstrument metricInstrument,
                                   long value,
                                   java.util.List<java.lang.String> requiredLabelValues,
                                   java.util.List<java.lang.String> optionalLabelValues)
        Specified by:
        addLongCounter in interface io.grpc.MetricSink
      • recordDoubleHistogram

        public void recordDoubleHistogram​(io.grpc.DoubleHistogramMetricInstrument metricInstrument,
                                          double value,
                                          java.util.List<java.lang.String> requiredLabelValues,
                                          java.util.List<java.lang.String> optionalLabelValues)
        Specified by:
        recordDoubleHistogram in interface io.grpc.MetricSink
      • recordLongHistogram

        public void recordLongHistogram​(io.grpc.LongHistogramMetricInstrument metricInstrument,
                                        long value,
                                        java.util.List<java.lang.String> requiredLabelValues,
                                        java.util.List<java.lang.String> optionalLabelValues)
        Specified by:
        recordLongHistogram in interface io.grpc.MetricSink
      • recordLongGauge

        public void recordLongGauge​(io.grpc.LongGaugeMetricInstrument metricInstrument,
                                    long value,
                                    java.util.List<java.lang.String> requiredLabelValues,
                                    java.util.List<java.lang.String> optionalLabelValues)
        Specified by:
        recordLongGauge in interface io.grpc.MetricSink
      • registerBatchCallback

        public io.grpc.MetricSink.Registration registerBatchCallback​(java.lang.Runnable callback,
                                                                     io.grpc.CallbackMetricInstrument... metricInstruments)
        Specified by:
        registerBatchCallback in interface io.grpc.MetricSink
      • updateMeasures

        public void updateMeasures​(java.util.List<io.grpc.MetricInstrument> instruments)
        Specified by:
        updateMeasures in interface io.grpc.MetricSink
      • shouldEnableMetric

        private boolean shouldEnableMetric​(io.grpc.MetricInstrument instrument)
      • createAttributes

        private io.opentelemetry.api.common.Attributes createAttributes​(java.util.List<java.lang.String> requiredLabelKeys,
                                                                        java.util.List<java.lang.String> optionalLabelKeys,
                                                                        java.util.List<java.lang.String> requiredLabelValues,
                                                                        java.util.List<java.lang.String> optionalLabelValues,
                                                                        java.util.BitSet bitSet)