Class SummaryWithCallback

All Implemented Interfaces:
Collector

Example:

 double MILLISECONDS_PER_SECOND = 1E3;

 SummaryWithCallback.builder()
         .name("jvm_gc_collection_seconds")
         .help("Time spent in a given JVM garbage collector in seconds.")
         .unit(Unit.SECONDS)
         .labelNames("gc")
         .callback(callback -> {
             for (GarbageCollectorMXBean gc : ManagementFactory.getGarbageCollectorMXBeans()) {
                 callback.call(
                         gc.getCollectionCount(),
                         gc.getCollectionTime() / MILLISECONDS_PER_SECOND,
                         Quantiles.EMPTY,
                         gc.getName()
                 );
             }
         })
         .register();