Class DoubleCumulative

java.lang.Object
io.opencensus.metrics.DoubleCumulative
Direct Known Subclasses:
DoubleCumulative.NoopDoubleCumulative, DoubleCumulativeImpl

@ThreadSafe public abstract class DoubleCumulative extends Object
Double 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
  • Constructor Details

    • DoubleCumulative

      public DoubleCumulative()
  • Method Details

    • getOrCreateTimeSeries

      public abstract DoubleCumulative.DoublePoint getOrCreateTimeSeries(List<LabelValue> labelValues)
      Creates a TimeSeries and returns a DoublePoint if the specified labelValues is not already associated with this cumulative, else returns an existing DoublePoint.

      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 to MetricRegistry.addDoubleCumulative(java.lang.String, io.opencensus.metrics.MetricOptions).
      Returns:
      a DoublePoint the value of single cumulative.
      Throws:
      NullPointerException - if labelValues is null OR any element of labelValues is null.
      IllegalArgumentException - if number of labelValuess are not equal to the label keys.
      Since:
      0.21
    • getDefaultTimeSeries

      public abstract DoubleCumulative.DoublePoint getDefaultTimeSeries()
      Returns a DoublePoint for a cumulative with all labels not set, or default labels.
      Returns:
      a DoublePoint for a cumulative with all labels not set, or default labels.
      Since:
      0.21
    • removeTimeSeries

      public abstract void removeTimeSeries(List<LabelValue> labelValues)
      Removes the TimeSeries from the cumulative metric, if it is present. i.e. references to previous DoublePoint objects are invalid (not part of the metric).
      Parameters:
      labelValues - the list of label values.
      Throws:
      NullPointerException - if labelValues is null or any element of labelValues is null.
      Since:
      0.21
    • clear

      public abstract void clear()
      Removes all TimeSeries from the cumulative metric. i.e. references to all previous DoublePoint objects are invalid (not part of the metric).
      Since:
      0.21
    • newNoopDoubleCumulative

      static DoubleCumulative newNoopDoubleCumulative(String name, String description, String unit, List<LabelKey> labelKeys)
      Returns the no-op implementation of the DoubleCumulative.
      Returns:
      the no-op implementation of the DoubleCumulative.
      Since:
      0.21