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();