/** * Use {@link PolledGauge#builder(String, Object, ToDoubleFunction)}. * * @param id The {@link MetricId}. * @param obj State object used to compute a value. * @param valueFunction Function that produces an instantaneous gauge value from the state object. * @param <T> The type of the state object from which the gauge value is extracted. * @return A existing or a new {@link PolledGauge} metric. */ public <T> PolledGauge polledGauge(MetricId id, T obj, ToDoubleFunction<T> valueFunction) { return getOrCreate(id, PolledGauge.class, () -> metricProvider.newPolledGauge(id, obj, valueFunction)); }
@Override public PolledGauge build() { return DefaultMetricRegistry.getInstance().getMetricProvider(). newPolledGauge(new MetricId(name, description, tags), obj, valueFunction); } }