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
NameDescription
otherDistribution

Fields

BucketCountsFieldNumber

public const int BucketCountsFieldNumber = 7

Field number for the "bucket_counts" field.

Field Value
TypeDescription
Int32

BucketOptionsFieldNumber

public const int BucketOptionsFieldNumber = 6

Field number for the "bucket_options" field.

Field Value
TypeDescription
Int32

CountFieldNumber

public const int CountFieldNumber = 1

Field number for the "count" field.

Field Value
TypeDescription
Int32

ExemplarsFieldNumber

public const int ExemplarsFieldNumber = 10

Field number for the "exemplars" field.

Field Value
TypeDescription
Int32

MeanFieldNumber

public const int MeanFieldNumber = 2

Field number for the "mean" field.

Field Value
TypeDescription
Int32

RangeFieldNumber

public const int RangeFieldNumber = 4

Field number for the "range" field.

Field Value
TypeDescription
Int32

SumOfSquaredDeviationFieldNumber

public const int SumOfSquaredDeviationFieldNumber = 3

Field number for the "sum_of_squared_deviation" field.

Field Value
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
Int64

Descriptor

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

Exemplars

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

Must be in increasing order of value field.

Property Value
TypeDescription
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
TypeDescription
Double

Parser

public static Protobuf.MessageParser<Distribution> Parser { get; }
Property Value
TypeDescription
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
TypeDescription
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
TypeDescription
Double

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
Int32

Clone()

public Distribution Clone()
Returns
TypeDescription
Distribution

Equals(Distribution)

public bool Equals(Distribution other)
Parameter
NameDescription
otherDistribution
Returns
TypeDescription
Boolean

Equals(Object)

public override bool Equals(object other)
Parameter
NameDescription
otherObject
Returns
TypeDescription
Boolean

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
Int32

MergeFrom(Distribution)

public void MergeFrom(Distribution other)
Parameter
NameDescription
otherDistribution

MergeFrom(Protobuf.CodedInputStream)

public void MergeFrom(Protobuf.CodedInputStream input)
Parameter
NameDescription
inputProtobuf.CodedInputStream

ToString()

public override string ToString()
Returns
TypeDescription
String

WriteTo(Protobuf.CodedOutputStream)

public void WriteTo(Protobuf.CodedOutputStream output)
Parameter
NameDescription
outputProtobuf.CodedOutputStream