Package io.opencensus.metrics
Class LongGauge
- java.lang.Object
-
- io.opencensus.metrics.LongGauge
-
- Direct Known Subclasses:
LongGauge.NoopLongGauge,LongGaugeImpl
@ThreadSafe public abstract class LongGauge extends java.lang.ObjectLong Gauge metric, to report instantaneous measurement of an int64 value. Gauges can go both up and down. The gauges values can be negative.Example 1: Create a Gauge with default labels.
class YourClass { private static final MetricRegistry metricRegistry = Metrics.getMetricRegistry(); List<LabelKey> labelKeys = Arrays.asList(LabelKey.create("Name", "desc")); LongGauge gauge = metricRegistry.addLongGauge("queue_size", "Pending jobs", "1", labelKeys); // It is recommended to keep a reference of a point for manual operations. LongPoint defaultPoint = gauge.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")); LongGauge gauge = metricRegistry.addLongGauge("queue_size", "Pending jobs", "1", labelKeys); // It is recommended to keep a reference of a point for manual operations. LongPoint inboundPoint = gauge.getOrCreateTimeSeries(labelValues); void doSomeWork() { // Your code here. inboundPoint.set(15); } }- Since:
- 0.17
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLongGauge.LongPointThe value of a single point in the Gauge.TimeSeries.private static classLongGauge.NoopLongGaugeNo-op implementations of LongGauge class.
-
Constructor Summary
Constructors Constructor Description LongGauge()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidclear()Removes allTimeSeriesfrom the gauge metric.abstract LongGauge.LongPointgetDefaultTimeSeries()Returns aLongPointfor a gauge with all labels not set, or default labels.abstract LongGauge.LongPointgetOrCreateTimeSeries(java.util.List<LabelValue> labelValues)Creates aTimeSeriesand returns aLongPointif the specifiedlabelValuesis not already associated with this gauge, else returns an existingLongPoint.(package private) static LongGaugenewNoopLongGauge(java.lang.String name, java.lang.String description, java.lang.String unit, java.util.List<LabelKey> labelKeys)Returns the no-op implementation of theLongGauge.abstract voidremoveTimeSeries(java.util.List<LabelValue> labelValues)Removes theTimeSeriesfrom the gauge metric, if it is present.
-
-
-
Method Detail
-
getOrCreateTimeSeries
public abstract LongGauge.LongPoint getOrCreateTimeSeries(java.util.List<LabelValue> labelValues)
Creates aTimeSeriesand returns aLongPointif the specifiedlabelValuesis not already associated with this gauge, 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.addLongGauge(java.lang.String, java.lang.String, java.lang.String, java.util.List<io.opencensus.metrics.LabelKey>).- Returns:
- a
LongPointthe value of single gauge. - Throws:
java.lang.NullPointerException- iflabelValuesis null OR any element oflabelValuesis null.java.lang.IllegalArgumentException- if number oflabelValuess are not equal to the label keys passed toMetricRegistry.addLongGauge(java.lang.String, java.lang.String, java.lang.String, java.util.List<io.opencensus.metrics.LabelKey>).- Since:
- 0.17
-
getDefaultTimeSeries
public abstract LongGauge.LongPoint getDefaultTimeSeries()
Returns aLongPointfor a gauge with all labels not set, or default labels.- Returns:
- a
LongPointfor a gauge with all labels not set, or default labels. - Since:
- 0.17
-
removeTimeSeries
public abstract void removeTimeSeries(java.util.List<LabelValue> labelValues)
Removes theTimeSeriesfrom the gauge metric, if it is present. i.e. references to previousLongPointobjects are invalid (not part of the metric).- Parameters:
labelValues- the list of label values.- Throws:
java.lang.NullPointerException- iflabelValuesis null.- Since:
- 0.17
-
clear
public abstract void clear()
Removes allTimeSeriesfrom the gauge metric. i.e. references to all previousLongPointobjects are invalid (not part of the metric).- Since:
- 0.17
-
-