Otel.SDK.Metrics.Aggregation.ExplicitBucketHistogram (otel v0.2.0)

Copy Markdown View Source

Explicit bucket histogram aggregation.

Uses :counters for thread-safe bucket increments and ets:update_counter / ets:select_replace for atomic count, sum, min, and max updates.

ETS entry format: {key, counters_ref, min, max, sum, count, start_time}.

Supports Cumulative and Delta temporality. For Delta, bucket counts, sum, and count are atomically read and subtracted; min and max are reset to :unset.

Configuration parameters

Pass via opts (typically through Otel.SDK.Metrics.View.config.aggregation_options):

KeyDefaultDescription
:boundaries@default_boundaries (15 OTel-default buckets)Bucket boundaries per metrics/sdk.md L660-L661
:record_min_maxtrueWhether to record min / max per metrics/sdk.md L662

When :record_min_max is false, the bucket counts, sum, and count are still tracked, but min/max ETS slots remain :unset and the collected datapoint emits nil for both fields — matching the spec's "RecordMinMax = false" semantics.

Summary

Functions

default_boundaries()

@spec default_boundaries() :: [number()]