Interface DoubleUpDownSumObserver

  • All Superinterfaces:
    AsynchronousInstrument, Instrument

    @ThreadSafe
    public interface DoubleUpDownSumObserver
    extends AsynchronousInstrument
    UpDownSumObserver is the asynchronous instrument corresponding to UpDownCounter, used to capture a non-monotonic count with Observe(sum).

    "Sum" appears in the name to remind that it is used to capture sums directly. Use a UpDownSumObserver to capture any value that starts at zero and rises or falls throughout the process lifetime.

    A UpDownSumObserver is a good choice in situations where a measurement is expensive to compute, such that it would be wasteful to compute on every request.

    Example:

    
     // class YourClass {
     //
     //   private static final Meter meter = OpenTelemetry.getMeterProvider().get("my_library_name");
     //   private static final DoubleUpDownSumObserver memoryObserver =
     //       meter.
     //           .doubleUpDownSumObserverBuilder("memory_usage")
     //           .setDescription("System memory usage")
     //           .setUnit("by")
     //           .build();
     //
     //   void init() {
     //     memoryObserver.setUpdater(
     //         new DoubleUpDownSumObserver.Callback<DoubleResult>() {
     //          @Override
     //           public void update(DoubleResult result) {
     //             // Get system memory usage
     //             result.observe(memoryUsed, "state", "used");
     //             result.observe(memoryFree, "state", "free");
     //           }
     //         });
     //   }
     // }