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