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 class
OpenTelemetryMetricSink.MeasuresData
-
Field Summary
Fields Modifier and Type Field Description private boolean
disableDefaultMetrics
private java.util.Map<java.lang.String,java.lang.Boolean>
enableMetrics
private java.lang.Object
lock
private static java.util.logging.Logger
logger
private java.util.List<OpenTelemetryMetricSink.MeasuresData>
measures
private io.opentelemetry.api.metrics.Meter
openTelemetryMeter
private 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 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)
-
-
-
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:
getEnabledMetrics
in interfaceio.grpc.MetricSink
-
getOptionalLabels
public java.util.Set<java.lang.String> getOptionalLabels()
- Specified by:
getOptionalLabels
in interfaceio.grpc.MetricSink
-
getMeasuresSize
public int getMeasuresSize()
- Specified by:
getMeasuresSize
in 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:
addDoubleCounter
in 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:
addLongCounter
in 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:
recordDoubleHistogram
in 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:
recordLongHistogram
in 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:
recordLongGauge
in interfaceio.grpc.MetricSink
-
registerBatchCallback
public io.grpc.MetricSink.Registration registerBatchCallback(java.lang.Runnable callback, io.grpc.CallbackMetricInstrument... metricInstruments)
- Specified by:
registerBatchCallback
in interfaceio.grpc.MetricSink
-
updateMeasures
public void updateMeasures(java.util.List<io.grpc.MetricInstrument> instruments)
- Specified by:
updateMeasures
in 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)
-
-