Package io.grpc.opentelemetry
Class OpenTelemetryMetricSink
- java.lang.Object
-
- io.grpc.opentelemetry.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 classOpenTelemetryMetricSink.MeasuresData
-
Field Summary
Fields Modifier and Type Field Description private booleandisableDefaultMetricsprivate java.util.Map<java.lang.String,java.lang.Boolean>enableMetricsprivate java.lang.Objectlockprivate static java.util.logging.Loggerloggerprivate java.util.List<OpenTelemetryMetricSink.MeasuresData>measuresprivate io.opentelemetry.api.metrics.MeteropenTelemetryMeterprivate java.util.Set<java.lang.String>optionalLabels
-
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 voidaddDoubleCounter(io.grpc.DoubleCounterMetricInstrument metricInstrument, double value, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues)voidaddLongCounter(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.AttributescreateAttributes(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()intgetMeasuresSize()java.util.Set<java.lang.String>getOptionalLabels()voidrecordDoubleHistogram(io.grpc.DoubleHistogramMetricInstrument metricInstrument, double value, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues)voidrecordLongGauge(io.grpc.LongGaugeMetricInstrument metricInstrument, long value, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues)voidrecordLongHistogram(io.grpc.LongHistogramMetricInstrument metricInstrument, long value, java.util.List<java.lang.String> requiredLabelValues, java.util.List<java.lang.String> optionalLabelValues)io.grpc.MetricSink.RegistrationregisterBatchCallback(java.lang.Runnable callback, io.grpc.CallbackMetricInstrument... metricInstruments)private booleanshouldEnableMetric(io.grpc.MetricInstrument instrument)voidupdateMeasures(java.util.List<io.grpc.MetricInstrument> instruments)
-
-
-
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
-
measures
private volatile java.util.List<OpenTelemetryMetricSink.MeasuresData> measures
-
-
Method Detail
-
getEnabledMetrics
public java.util.Map<java.lang.String,java.lang.Boolean> getEnabledMetrics()
- Specified by:
getEnabledMetricsin interfaceio.grpc.MetricSink
-
getOptionalLabels
public java.util.Set<java.lang.String> getOptionalLabels()
- Specified by:
getOptionalLabelsin interfaceio.grpc.MetricSink
-
getMeasuresSize
public int getMeasuresSize()
- Specified by:
getMeasuresSizein interfaceio.grpc.MetricSink
-
getMeasures
java.util.List<OpenTelemetryMetricSink.MeasuresData> getMeasures()
-
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:
addDoubleCounterin interfaceio.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:
addLongCounterin interfaceio.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:
recordDoubleHistogramin interfaceio.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:
recordLongHistogramin interfaceio.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:
recordLongGaugein interfaceio.grpc.MetricSink
-
registerBatchCallback
public io.grpc.MetricSink.Registration registerBatchCallback(java.lang.Runnable callback, io.grpc.CallbackMetricInstrument... metricInstruments)- Specified by:
registerBatchCallbackin interfaceio.grpc.MetricSink
-
updateMeasures
public void updateMeasures(java.util.List<io.grpc.MetricInstrument> instruments)
- Specified by:
updateMeasuresin interfaceio.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)
-
-