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

io.opentelemetry.sdk.metrics.data.ExponentialHistogramBuckets Maven / Gradle / Ivy

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

package io.opentelemetry.sdk.metrics.data;

import java.util.List;
import javax.annotation.concurrent.Immutable;

/**
 * ExponentialHistogramBuckets represents either the positive or negative measurements taken for a
 * {@link ExponentialHistogramPointData}.
 *
 * 

The bucket boundaries are lower-bound exclusive, and are calculated using the {@link * ExponentialHistogramPointData#getScale()} and the {@link #getOffset()}. * *

For example, assume {@link ExponentialHistogramPointData#getScale()} is 0, the base is 2.0. * Then, if offset is 0, the bucket lower bounds would be 1.0, 2.0, 4.0, 8.0, etc. If * offset is -3, the bucket lower bounds would be 0.125, 0.25, 0.5, 1.0, 2,0, etc. If * offset is +3, the bucket lower bounds would be 8.0, 16.0, 32.0, etc. * * @since 1.23.0 */ @Immutable public interface ExponentialHistogramBuckets { /** The scale of the buckets. Must align with {@link ExponentialHistogramPointData#getScale()}. */ int getScale(); /** * The offset shifts the bucket boundaries according to lower_bound = base^(offset+i). * . * * @return the offset. */ int getOffset(); /** * The bucket counts is a list of counts representing number of measurements that fall into each * bucket. * * @return the bucket counts. */ List getBucketCounts(); /** * The total count is the sum of all the values in the buckets. * * @return the total count. */ long getTotalCount(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy