001package org.avaje.metric; 002 003/** 004 * Metric based on a gauge returning double values. 005 * <p> 006 * A GaugeDoubleMetric is created by {@link MetricManager#register(MetricName, GaugeDouble)}. 007 * 008 * <p> 009 * Example: 010 * 011 * <pre> 012 * <code> 013 * class FreeMemoryGauge implements GaugeDouble { 014 * 015 * public double getValue() { 016 * return mxBean.getFreeMemory() / mxBean.getTotalMemory(); 017 * } 018 * } 019 * 020 * 021 * GaugeDoubleMetric gauge = MetricManager.register("jvm.memory.pctfree", freeMemoryGauge); 022 * 023 * </code> 024 * </pre> 025 * <p> 026 * Note that <em>metric-core</em> registers some core JVM gauges that include threads, memory 027 * and garbage collection. 028 */ 029public interface GaugeDoubleMetric extends Metric { 030 031 /** 032 * Return the value. 033 */ 034 double getValue(); 035 036}