#[non_exhaustive]pub struct Distribution {
    pub count: i64,
    pub mean: f64,
    pub sum_of_squared_deviation: f64,
    pub range: Option<Range>,
    pub bucket_options: Option<BucketOptions>,
    pub bucket_counts: Vec<i64>,
    pub exemplars: Vec<Exemplar>,
}Expand description
Distribution contains summary statistics for a population of values. It
optionally contains a histogram representing the distribution of those values
across a set of buckets.
The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths.
Although it is not forbidden, it is generally a bad idea to include
non-finite values (infinities or NaNs) in the population of values, as this
will render the mean and sum_of_squared_deviation fields meaningless.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.count: i64The number of values in the population. Must be non-negative. This value
must equal the sum of the values in bucket_counts if a histogram is
provided.
mean: f64The arithmetic mean of the values in the population. If count is zero
then this field must be zero.
sum_of_squared_deviation: f64The sum of squared deviations from the mean of the values in the population. For values x_i this is:
Sum[i=1..n]((x_i - mean)^2)Knuth, “The Art of Computer Programming”, Vol. 2, page 232, 3rd edition describes Welford’s method for accumulating this sum in one pass.
If count is zero then this field must be zero.
range: Option<Range>If specified, contains the range of the population values. The field
must not be present if the count is zero.
bucket_options: Option<BucketOptions>Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field.
bucket_counts: Vec<i64>The number of values in each bucket of the histogram, as described in
bucket_options. If the distribution does not have a histogram, then omit
this field. If there is a histogram, then the sum of the values in
bucket_counts must equal the value in the count field of the
distribution.
If present, bucket_counts should contain N values, where N is the number
of buckets specified in bucket_options. If you supply fewer than N
values, the remaining values are assumed to be 0.
The order of the values in bucket_counts follows the bucket numbering
schemes described for the three bucket types. The first value must be the
count for the underflow bucket (number 0). The next N-2 values are the
counts for the finite buckets (number 1 through N-2). The N’th value in
bucket_counts is the count for the overflow bucket (number N-1).
exemplars: Vec<Exemplar>Must be in increasing order of value field.
Implementations§
Source§impl Distribution
 
impl Distribution
Sourcepub fn set_sum_of_squared_deviation<T: Into<f64>>(self, v: T) -> Self
 
pub fn set_sum_of_squared_deviation<T: Into<f64>>(self, v: T) -> Self
Sets the value of sum_of_squared_deviation.
Sourcepub fn set_bucket_options<T: Into<Option<BucketOptions>>>(self, v: T) -> Self
 
pub fn set_bucket_options<T: Into<Option<BucketOptions>>>(self, v: T) -> Self
Sets the value of bucket_options.
Sourcepub fn set_bucket_counts<T, V>(self, v: T) -> Self
 
pub fn set_bucket_counts<T, V>(self, v: T) -> Self
Sets the value of bucket_counts.
Sourcepub fn set_exemplars<T, V>(self, v: T) -> Self
 
pub fn set_exemplars<T, V>(self, v: T) -> Self
Sets the value of exemplars.
Trait Implementations§
Source§impl Clone for Distribution
 
impl Clone for Distribution
Source§fn clone(&self) -> Distribution
 
fn clone(&self) -> Distribution
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read more