Class Distribution (2.2.0)

public sealed class Distribution : Protobuf.IMessage<Distribution>, Protobuf.IBufferMessage

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
Int32

BucketOptionsFieldNumber

public const int BucketOptionsFieldNumber = 6

Field number for the "bucket_options" field.

Field Value
Type Description
Int32

CountFieldNumber

public const int CountFieldNumber = 1

Field number for the "count" field.

Field Value
Type Description
Int32

ExemplarsFieldNumber

public const int ExemplarsFieldNumber = 10

Field number for the "exemplars" field.

Field Value
Type Description
Int32

MeanFieldNumber

public const int MeanFieldNumber = 2

Field number for the "mean" field.

Field Value
Type Description
Int32

RangeFieldNumber

public const int RangeFieldNumber = 4

Field number for the "range" field.

Field Value
Type Description
Int32

SumOfSquaredDeviationFieldNumber

public const int SumOfSquaredDeviationFieldNumber = 3

Field number for the "sum_of_squared_deviation" field.

Field Value
Type Description
Int32

Properties

BucketCounts

public Protobuf.Collections.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
Protobuf.Collections.RepeatedField<Int64>

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
Distribution.Types.BucketOptions

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
Int64

Descriptor

public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
Property Value
Type Description
Protobuf.Reflection.MessageDescriptor

Exemplars

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

Must be in increasing order of value field.

Property Value
Type Description
Protobuf.Collections.RepeatedField<Distribution.Types.Exemplar>

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 Protobuf.MessageParser<Distribution> Parser { get; }
Property Value
Type Description
Protobuf.MessageParser<Distribution>

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
Distribution.Types.Range

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 323, 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
Int32

Clone()

public Distribution Clone()
Returns
Type Description
Distribution

Equals(Distribution)

public bool Equals(Distribution other)
Parameter
Name Description
other Distribution
Returns
Type Description
Boolean

Equals(Object)

public override bool Equals(object other)
Parameter
Name Description
other Object
Returns
Type Description
Boolean

GetHashCode()

public override int GetHashCode()
Returns
Type Description
Int32

MergeFrom(Distribution)

public void MergeFrom(Distribution other)
Parameter
Name Description
other Distribution

MergeFrom(Protobuf.CodedInputStream)

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

ToString()

public override string ToString()
Returns
Type Description
String

WriteTo(Protobuf.CodedOutputStream)

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