Interface DoubleUpDownCounter

  • All Superinterfaces:
    Instrument, SynchronousInstrument<BoundDoubleUpDownCounter>

    @ThreadSafe
    public interface DoubleUpDownCounter
    extends SynchronousInstrument<BoundDoubleUpDownCounter>
    UpDownCounter is a synchronous instrument and very similar to Counter except that Add(increment) supports negative increments. This makes UpDownCounter not useful for computing a rate aggregation. The default aggregation is `Sum`, only the sum is non-monotonic. It is generally useful for capturing changes in an amount of resources used, or any quantity that rises and falls during a request.

    Example:

    
     class YourClass {
       private static final Meter meter = OpenTelemetry.getMeterProvider().get("my_library_name");
       private static final DoubleUpDownCounter upDownCounter =
           meter.
               .doubleUpDownCounterBuilder("resource_usage")
               .setDescription("Current resource usage")
               .setUnit("1")
               .build();
    
       // It is recommended that the API user keep references to a Bound Counters.
       private static final BoundDoubleUpDownCounter someWorkBound =
           upDownCounter.bind("work_name", "some_work");
    
       void doSomeWork() {
          someWorkBound.add(10.2);  // Resources needed for this task.
          // Your code here.
          someWorkBound.add(-10.0);
       }
     }
     
    • Method Detail

      • add

        void add​(double increment,
                 Labels labels)
        Adds the given increment to the current value.

        The value added is associated with the current Context and provided set of labels.

        Parameters:
        increment - the value to add.
        labels - the labels to be associated to this recording.
      • add

        void add​(double increment)
        Adds the given increment to the current value.

        The value added is associated with the current Context and empty labels.

        Parameters:
        increment - the value to add.
      • bind

        BoundDoubleUpDownCounter bind​(Labels labels)
        Description copied from interface: SynchronousInstrument
        Returns a Bound Instrument associated with the specified labels. Multiples requests with the same set of labels may return the same Bound Instrument instance.

        It is recommended that callers keep a reference to the Bound Instrument instead of always calling this method for every operation.

        Specified by:
        bind in interface SynchronousInstrument<BoundDoubleUpDownCounter>
        Parameters:
        labels - the set of labels, as key-value pairs.
        Returns:
        a Bound Instrument