public sealed class Distribution : IMessage<Distribution>, IEquatable<Distribution>, IDeepCloneable<Distribution>, IBufferMessage, IMessage
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.
Inheritance
object >
Distribution
Namespace
Google.Api
Assembly
Google.Api.CommonProtos.dll
Constructors
Distribution()
Distribution(Distribution)
public Distribution(Distribution other)
Fields
BucketCountsFieldNumber
public const int BucketCountsFieldNumber = 7
Field number for the "bucket_counts" field.
Field Value |
Type |
Description |
int |
|
BucketOptionsFieldNumber
public const int BucketOptionsFieldNumber = 6
Field number for the "bucket_options" field.
Field Value |
Type |
Description |
int |
|
CountFieldNumber
public const int CountFieldNumber = 1
Field number for the "count" field.
Field Value |
Type |
Description |
int |
|
ExemplarsFieldNumber
public const int ExemplarsFieldNumber = 10
Field number for the "exemplars" field.
Field Value |
Type |
Description |
int |
|
MeanFieldNumber
public const int MeanFieldNumber = 2
Field number for the "mean" field.
Field Value |
Type |
Description |
int |
|
RangeFieldNumber
public const int RangeFieldNumber = 4
Field number for the "range" field.
Field Value |
Type |
Description |
int |
|
SumOfSquaredDeviationFieldNumber
public const int SumOfSquaredDeviationFieldNumber = 3
Field number for the "sum_of_squared_deviation" field.
Field Value |
Type |
Description |
int |
|
Properties
BucketCounts
public RepeatedField<long> BucketCounts { get; }
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).
BucketOptions
public Distribution.Types.BucketOptions BucketOptions { get; set; }
Defines the histogram bucket boundaries. If the distribution does not
contain a histogram, then omit this field.
Count
public long Count { get; set; }
The 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.
Property Value |
Type |
Description |
long |
|
Descriptor
public static MessageDescriptor Descriptor { get; }
Exemplars
public RepeatedField<Distribution.Types.Exemplar> Exemplars { get; }
Must be in increasing order of value
field.
Mean
public double Mean { get; set; }
The arithmetic mean of the values in the population. If count
is zero
then this field must be zero.
Property Value |
Type |
Description |
double |
|
Parser
public static MessageParser<Distribution> Parser { get; }
Range
public Distribution.Types.Range Range { get; set; }
If specified, contains the range of the population values. The field
must not be present if the count
is zero.
SumOfSquaredDeviation
public double SumOfSquaredDeviation { get; set; }
The 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.
Property Value |
Type |
Description |
double |
|
Methods
CalculateSize()
public int CalculateSize()
Returns |
Type |
Description |
int |
|
Clone()
public Distribution Clone()
Equals(Distribution)
public bool Equals(Distribution other)
Returns |
Type |
Description |
bool |
|
Equals(object)
public override bool Equals(object other)
Parameter |
Name |
Description |
other |
object
|
Returns |
Type |
Description |
bool |
|
Overrides
GetHashCode()
public override int GetHashCode()
Returns |
Type |
Description |
int |
|
Overrides
MergeFrom(Distribution)
public void MergeFrom(Distribution other)
public void MergeFrom(CodedInputStream input)
ToString()
public override string ToString()
Returns |
Type |
Description |
string |
|
Overrides
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)