Package io.opencensus.implcore.metrics
Class DerivedDoubleGaugeImpl
- java.lang.Object
-
- io.opencensus.metrics.DerivedDoubleGauge
-
- io.opencensus.implcore.metrics.DerivedDoubleGaugeImpl
-
- All Implemented Interfaces:
Meter
public final class DerivedDoubleGaugeImpl extends DerivedDoubleGauge implements Meter
Implementation ofDerivedDoubleGauge
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DerivedDoubleGaugeImpl.PointWithFunction<T>
Implementation ofDerivedDoubleGaugeImpl.PointWithFunction
with an object and a callback function.
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<LabelValue>
constantLabelValues
private int
labelKeysSize
private MetricDescriptor
metricDescriptor
private java.util.Map<java.util.List<LabelValue>,DerivedDoubleGaugeImpl.PointWithFunction<?>>
registeredPoints
-
Constructor Summary
Constructors Constructor Description DerivedDoubleGaugeImpl(java.lang.String name, java.lang.String description, java.lang.String unit, java.util.List<LabelKey> labelKeys, java.util.Map<LabelKey,LabelValue> constantLabels)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Removes allTimeSeries
from the gauge metric.<T> void
createTimeSeries(java.util.List<LabelValue> labelValues, T obj, ToDoubleFunction<T> function)
Creates aTimeSeries
.Metric
getMetric(Clock clock)
Provides aMetric
with one or moreTimeSeries
.MetricDescriptor
getMetricDescriptor()
Provides aMetricDescriptor
.void
removeTimeSeries(java.util.List<LabelValue> labelValues)
Removes theTimeSeries
from the gauge metric, if it is present.
-
-
-
Field Detail
-
metricDescriptor
private final MetricDescriptor metricDescriptor
-
labelKeysSize
private final int labelKeysSize
-
constantLabelValues
private final java.util.List<LabelValue> constantLabelValues
-
registeredPoints
private volatile java.util.Map<java.util.List<LabelValue>,DerivedDoubleGaugeImpl.PointWithFunction<?>> registeredPoints
-
-
Constructor Detail
-
DerivedDoubleGaugeImpl
DerivedDoubleGaugeImpl(java.lang.String name, java.lang.String description, java.lang.String unit, java.util.List<LabelKey> labelKeys, java.util.Map<LabelKey,LabelValue> constantLabels)
-
-
Method Detail
-
createTimeSeries
public <T> void createTimeSeries(java.util.List<LabelValue> labelValues, @Nullable T obj, ToDoubleFunction<T> function)
Description copied from class:DerivedDoubleGauge
Creates aTimeSeries
. The value of a single point in the TimeSeries is observed from a callback function. This function is invoked whenever metrics are collected, meaning the reported value is up-to-date. It keeps aWeakReference
to the object and it is the user's responsibility to manage the lifetime of the object.- Specified by:
createTimeSeries
in classDerivedDoubleGauge
- Type Parameters:
T
- the type of the object upon which the function derives a measurement.- Parameters:
labelValues
- the list of label values.obj
- the state object from which the function derives a measurement.function
- the function to be called.
-
removeTimeSeries
public void removeTimeSeries(java.util.List<LabelValue> labelValues)
Description copied from class:DerivedDoubleGauge
Removes theTimeSeries
from the gauge metric, if it is present.- Specified by:
removeTimeSeries
in classDerivedDoubleGauge
- Parameters:
labelValues
- the list of label values.
-
clear
public void clear()
Description copied from class:DerivedDoubleGauge
Removes allTimeSeries
from the gauge metric.- Specified by:
clear
in classDerivedDoubleGauge
-
getMetricDescriptor
public MetricDescriptor getMetricDescriptor()
Description copied from interface:Meter
Provides aMetricDescriptor
.- Specified by:
getMetricDescriptor
in interfaceMeter
- Returns:
- a
MetricDescriptor
.
-
-