Package io.opencensus.metrics
Class DoubleCumulative
- java.lang.Object
-
- io.opencensus.metrics.DoubleCumulative
-
- Direct Known Subclasses:
DoubleCumulative.NoopDoubleCumulative,DoubleCumulativeImpl
@ThreadSafe public abstract class DoubleCumulative extends java.lang.ObjectDouble Cumulative metric, to report instantaneous measurement of a double value. Cumulative values can go up or stay the same, but can never go down. Cumulative values cannot be negative.Example 1: Create a Cumulative with default labels.
class YourClass { private static final MetricRegistry metricRegistry = Metrics.getMetricRegistry(); List<LabelKey> labelKeys = Arrays.asList(LabelKey.create("Name", "desc")); DoubleCumulative cumulative = metricRegistry.addDoubleCumulative("processed_jobs", "Processed jobs", "1", labelKeys); // It is recommended to keep a reference of a point for manual operations. DoublePoint defaultPoint = cumulative.getDefaultTimeSeries(); void doWork() { // Your code here. defaultPoint.add(10); } }Example 2: You can also use labels(keys and values) to track different types of metric.
class YourClass { private static final MetricRegistry metricRegistry = Metrics.getMetricRegistry(); List<LabelKey> labelKeys = Arrays.asList(LabelKey.create("Name", "desc")); List<LabelValue> labelValues = Arrays.asList(LabelValue.create("Inbound")); DoubleCumulative cumulative = metricRegistry.addDoubleCumulative("processed_jobs", "Processed jobs", "1", labelKeys); // It is recommended to keep a reference of a point for manual operations. DoublePoint inboundPoint = cumulative.getOrCreateTimeSeries(labelValues); void doSomeWork() { // Your code here. inboundPoint.set(15); } }- Since:
- 0.21
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDoubleCumulative.DoublePointThe value of a single point in the Cumulative.TimeSeries.private static classDoubleCumulative.NoopDoubleCumulativeNo-op implementations of DoubleCumulative class.
-
Constructor Summary
Constructors Constructor Description DoubleCumulative()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidclear()Removes allTimeSeriesfrom the cumulative metric.abstract DoubleCumulative.DoublePointgetDefaultTimeSeries()Returns aDoublePointfor a cumulative with all labels not set, or default labels.abstract DoubleCumulative.DoublePointgetOrCreateTimeSeries(java.util.List<LabelValue> labelValues)Creates aTimeSeriesand returns aDoublePointif the specifiedlabelValuesis not already associated with this cumulative, else returns an existingDoublePoint.(package private) static DoubleCumulativenewNoopDoubleCumulative(java.lang.String name, java.lang.String description, java.lang.String unit, java.util.List<LabelKey> labelKeys)Returns the no-op implementation of theDoubleCumulative.abstract voidremoveTimeSeries(java.util.List<LabelValue> labelValues)Removes theTimeSeriesfrom the cumulative metric, if it is present.
-
-
-
Method Detail
-
getOrCreateTimeSeries
public abstract DoubleCumulative.DoublePoint getOrCreateTimeSeries(java.util.List<LabelValue> labelValues)
Creates aTimeSeriesand returns aDoublePointif the specifiedlabelValuesis not already associated with this cumulative, else returns an existingDoublePoint.It is recommended to keep a reference to the DoublePoint instead of always calling this method for manual operations.
- Parameters:
labelValues- the list of label values. The number of label values must be the same to that of the label keys passed toMetricRegistry.addDoubleCumulative(java.lang.String, io.opencensus.metrics.MetricOptions).- Returns:
- a
DoublePointthe value of single cumulative. - Throws:
java.lang.NullPointerException- iflabelValuesis null OR any element oflabelValuesis null.java.lang.IllegalArgumentException- if number oflabelValuess are not equal to the label keys.- Since:
- 0.21
-
getDefaultTimeSeries
public abstract DoubleCumulative.DoublePoint getDefaultTimeSeries()
Returns aDoublePointfor a cumulative with all labels not set, or default labels.- Returns:
- a
DoublePointfor a cumulative with all labels not set, or default labels. - Since:
- 0.21
-
removeTimeSeries
public abstract void removeTimeSeries(java.util.List<LabelValue> labelValues)
Removes theTimeSeriesfrom the cumulative metric, if it is present. i.e. references to previousDoublePointobjects are invalid (not part of the metric).- Parameters:
labelValues- the list of label values.- Throws:
java.lang.NullPointerException- iflabelValuesis null or any element oflabelValuesis null.- Since:
- 0.21
-
clear
public abstract void clear()
Removes allTimeSeriesfrom the cumulative metric. i.e. references to all previousDoublePointobjects are invalid (not part of the metric).- Since:
- 0.21
-
newNoopDoubleCumulative
static DoubleCumulative newNoopDoubleCumulative(java.lang.String name, java.lang.String description, java.lang.String unit, java.util.List<LabelKey> labelKeys)
Returns the no-op implementation of theDoubleCumulative.- Returns:
- the no-op implementation of the
DoubleCumulative. - Since:
- 0.21
-
-