All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.opentelemetry.api.metrics.DoubleGaugeBuilder Maven / Gradle / Ivy

/*
 * Copyright The OpenTelemetry Authors
 * SPDX-License-Identifier: Apache-2.0
 */

package io.opentelemetry.api.metrics;

import java.util.function.Consumer;

/** A builder for Gauge metric types. These can only be asynchronously collected. */
public interface DoubleGaugeBuilder {
  /**
   * Sets the description for this instrument.
   *
   * 

Description strings should follow the instrument description rules: * https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#instrument-description */ DoubleGaugeBuilder setDescription(String description); /** * Sets the unit of measure for this instrument. * *

Unit strings should follow the instrument unit rules: * https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#instrument-unit */ DoubleGaugeBuilder setUnit(String unit); /** Sets the gauge for recording {@code long} values. */ LongGaugeBuilder ofLongs(); /** * Builds this asynchronous instrument with the given callback. * *

The callback will only be called when the {@link Meter} is being observed. * * @param callback A state-capturing callback used to observe values on-demand. */ void buildWithCallback(Consumer callback); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy