Interface DoubleSumObserver

  • All Superinterfaces:
    AsynchronousInstrument, Instrument

    @ThreadSafe
    public interface DoubleSumObserver
    extends AsynchronousInstrument
    SumObserver is the asynchronous instrument corresponding to Counter, used to capture a monotonic sum with Observe(sum).

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

    A SumObserver 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 DoubleSumObserver cpuObserver =
     //       meter.
     //           .doubleSumObserverBuilder("cpu_time")
     //           .setDescription("System CPU usage")
     //           .setUnit("ms")
     //           .build();
     //
     //   void init() {
     //     cpuObserver.setUpdater(
     //         new DoubleSumObserver.Callback<DoubleResult>() {
     //          @Override
     //           public void update(DoubleResult result) {
     //             // Get system cpu usage
     //             result.observe(cpuIdle, "state", "idle");
     //             result.observe(cpuUser, "state", "user");
     //           }
     //         });
     //   }
     // }