Histogram.Bucketsinclude module type of Prometheus_instrumentation_collector_histogram_buckets.BucketsAn 'a t represents a partition of the values in 'a into at least two intervals. Any value of type 'a (except for NaNs if 'a = float) belongs to exactly one bucket.
The only use for this type is making histograms, and the buckets get turned into metrics with special le labels, corresponding to counts of events with values less than or equal to the given one. In particular:
le valuesle label+InfNote that the compare and equal functions completely ignore the passed in comparison or equality function for 'a and always use the standard comparison or equality function of whatever type 'a actually represents (e.g. Int.compare).
include Ppx_compare_lib.Comparable.S1 with type 'a t := 'a tinclude Ppx_compare_lib.Comparable.S1__local with type 'a t := 'a tinclude Ppx_compare_lib.Equal.S1 with type 'a t := 'a tinclude Ppx_compare_lib.Equal.S1__local with type 'a t := 'a tval sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.tDescribes the allowable types for bucket boundaries
module Bucket_spec =
Prometheus_instrumentation_collector_histogram_buckets.Buckets.Bucket_specmodule Predefined =
Prometheus_instrumentation_collector_histogram_buckets.Buckets.PredefinedBuckets that serve as a reasonable default for users that don't want to customize the boundaries.
Helper functions for creating uniformly spaced buckets.
module Exponential =
Prometheus_instrumentation_collector_histogram_buckets.Buckets.ExponentialHelper functions for creating buckets with exponentially increasing size.
val boundaries_excluding_infinity : 'a t -> 'a Core.Array.tBoundaries for the buckets. When using these boundaries, one should implicitly add another bucket at +Inf.
val bucket_ranges : 'a t -> ('a * 'a) list