pub struct Distribution {
pub bucket_counts: Option<Vec<i64>>,
pub count: Option<i64>,
pub exemplars: Option<Vec<Exemplar>>,
pub explicit_buckets: Option<ExplicitBuckets>,
pub exponential_buckets: Option<ExponentialBuckets>,
pub linear_buckets: Option<LinearBuckets>,
pub maximum: Option<f64>,
pub mean: Option<f64>,
pub minimum: Option<f64>,
pub sum_of_squared_deviation: Option<f64>,
}
Expand description
Distribution represents a frequency distribution of double-valued sample points. It contains the size of the population of sample points plus additional optional information: * the arithmetic mean of the samples * the minimum and maximum of the samples * the sum-squared-deviation of the samples, used to compute variance * a histogram of the values of the sample points
This type is not used in any activity, and only used as part of another schema.
Fields§
§bucket_counts: Option<Vec<i64>>
The number of samples in each histogram bucket. bucket_counts
are optional. If present, they must sum to the count
value. The buckets are defined below in bucket_option
. There are N buckets. bucket_counts[0]
is the number of samples in the underflow bucket. bucket_counts[1]
to bucket_counts[N-1]
are the numbers of samples in each of the finite buckets. And bucket_counts[N] is the number of samples in the overflow bucket. See the comments of
bucket_option` below for more details. Any suffix of trailing zeros may be omitted.
count: Option<i64>
The total number of samples in the distribution. Must be >= 0.
exemplars: Option<Vec<Exemplar>>
Example points. Must be in increasing order of value
field.
explicit_buckets: Option<ExplicitBuckets>
Buckets with arbitrary user-provided width.
exponential_buckets: Option<ExponentialBuckets>
Buckets with exponentially growing width.
linear_buckets: Option<LinearBuckets>
Buckets with constant width.
maximum: Option<f64>
The maximum of the population of values. Ignored if count
is zero.
mean: Option<f64>
The arithmetic mean of the samples in the distribution. If count
is zero then this field must be zero.
minimum: Option<f64>
The minimum of the population of values. Ignored if count
is zero.
sum_of_squared_deviation: Option<f64>
The sum of squared deviations from the mean: Sum[i=1..count]((x_i - mean)^2) where each x_i is a sample values. If count
is zero then this field must be zero, otherwise validation of the request fails.
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 moreSource§impl Debug for Distribution
impl Debug for Distribution
Source§impl Default for Distribution
impl Default for Distribution
Source§fn default() -> Distribution
fn default() -> Distribution
Source§impl<'de> Deserialize<'de> for Distribution
impl<'de> Deserialize<'de> for Distribution
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for Distribution
impl Serialize for Distribution
impl Part for Distribution
Auto Trait Implementations§
impl Freeze for Distribution
impl RefUnwindSafe for Distribution
impl Send for Distribution
impl Sync for Distribution
impl Unpin for Distribution
impl UnwindSafe for Distribution
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more