Class Distribution (2.10.0)

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()

public Distribution()

Distribution(Distribution)

public Distribution(Distribution other)
Parameter
Name Description
other Distribution

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).

Property Value
Type Description
RepeatedFieldlong

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.

Property Value
Type Description
DistributionTypesBucketOptions

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; }
Property Value
Type Description
MessageDescriptor

Exemplars

public RepeatedField<Distribution.Types.Exemplar> Exemplars { get; }

Must be in increasing order of value field.

Property Value
Type Description
RepeatedFieldDistributionTypesExemplar

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; }
Property Value
Type Description
MessageParserDistribution

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.

Property Value
Type Description
DistributionTypesRange

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()
Returns
Type Description
Distribution

Equals(Distribution)

public bool Equals(Distribution other)
Parameter
Name Description
other Distribution
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)
Parameter
Name Description
other Distribution

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)
Parameter
Name Description
input CodedInputStream

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)
Parameter
Name Description
output CodedOutputStream