io.opentelemetry.api.metrics.LongHistogramBuilder Maven / Gradle / Ivy
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.api.metrics;
/** Builder class for {@link LongHistogram}. */
public interface LongHistogramBuilder {
/**
* 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
*/
LongHistogramBuilder 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
*/
LongHistogramBuilder setUnit(String unit);
/** Sets the histogram for recording {@code double} values. */
DoubleHistogramBuilder ofDoubles();
/**
* Builds and returns a {@code LongHistogram} with the desired options.
*
* @return a {@code LongHistogram} with the desired options.
*/
LongHistogram build();
}