Package io.opencensus.metrics
Class LongCumulative
java.lang.Object
io.opencensus.metrics.LongCumulative
- Direct Known Subclasses:
LongCumulative.NoopLongCumulative
,LongCumulativeImpl
Long Cumulative metric, to report instantaneous measurement of an int64 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"));
LongCumulative cumulative = metricRegistry.addLongCumulative(
"processed_jobs", "Processed jobs", "1", labelKeys);
// It is recommended to keep a reference of a point for manual operations.
LongPoint 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"));
LongCumulative cumulative = metricRegistry.addLongCumulative(
"processed_jobs", "Processed jobs", "1", labelKeys);
// It is recommended to keep a reference of a point for manual operations.
LongPoint inboundPoint = cumulative.getOrCreateTimeSeries(labelValues);
void doSomeWork() {
// Your code here.
inboundPoint.set(15);
}
}
- Since:
- 0.21
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
The value of a single point in the Cumulative.TimeSeries.private static final class
No-op implementations of LongCumulative class. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
clear()
Removes allTimeSeries
from the cumulative metric.abstract LongCumulative.LongPoint
Returns aLongPoint
for a cumulative with all labels not set, or default labels.abstract LongCumulative.LongPoint
getOrCreateTimeSeries
(List<LabelValue> labelValues) Creates aTimeSeries
and returns aLongPoint
if the specifiedlabelValues
is not already associated with this cumulative, else returns an existingLongPoint
.(package private) static LongCumulative
Returns the no-op implementation of theLongCumulative
.abstract void
removeTimeSeries
(List<LabelValue> labelValues) Removes theTimeSeries
from the cumulative metric, if it is present.
-
Constructor Details
-
LongCumulative
public LongCumulative()
-
-
Method Details
-
getOrCreateTimeSeries
Creates aTimeSeries
and returns aLongPoint
if the specifiedlabelValues
is not already associated with this cumulative, else returns an existingLongPoint
.It is recommended to keep a reference to the LongPoint 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.addLongCumulative(java.lang.String, io.opencensus.metrics.MetricOptions)
.- Returns:
- a
LongPoint
the value of single cumulative. - Throws:
NullPointerException
- iflabelValues
is null OR any element oflabelValues
is null.IllegalArgumentException
- if number oflabelValues
s are not equal to the label keys passed toMetricRegistry.addLongCumulative(java.lang.String, io.opencensus.metrics.MetricOptions)
.- Since:
- 0.21
-
getDefaultTimeSeries
Returns aLongPoint
for a cumulative with all labels not set, or default labels.- Returns:
- a
LongPoint
for a cumulative with all labels not set, or default labels. - Since:
- 0.21
-
removeTimeSeries
Removes theTimeSeries
from the cumulative metric, if it is present. i.e. references to previousLongPoint
objects are invalid (not part of the metric).- Parameters:
labelValues
- the list of label values.- Throws:
NullPointerException
- iflabelValues
is null.- Since:
- 0.21
-
clear
public abstract void clear()Removes allTimeSeries
from the cumulative metric. i.e. references to all previousLongPoint
objects are invalid (not part of the metric).- Since:
- 0.21
-
newNoopLongCumulative
static LongCumulative newNoopLongCumulative(String name, String description, String unit, List<LabelKey> labelKeys) Returns the no-op implementation of theLongCumulative
.- Returns:
- the no-op implementation of the
LongCumulative
. - Since:
- 0.21
-