Distribution
には、値の母集団の要約統計量が含まれます。必要に応じて、これらの値の分布をバケットのセット全体で表すヒストグラムが含まれます。
要約統計量は、カウント、平均、平均からの 2 乗偏差の合計、最小値、値の母集団の集合の最大値です。ヒストグラムはバケットの配列に基づいており、各バケットに入る分類値のカウントをもたらします。バケットの境界は、明示的に指定するか、バケットの幅が一定または指数関数的に増加する式で指定します。
禁止されてはいませんが、値の母集団に非有限値(無限大または NaN)を含めると、mean
と sumOfSquaredDeviation
が無意味なフィールドになるため、一般的におすすめできません。
JSON 表現 |
---|
{ "count": string, "mean": number, "sumOfSquaredDeviation": number, "range": { object ( |
フィールド | |
---|---|
count |
値の母集団の数。負の値は使用できません。ヒストグラムが指定されている場合、この値は |
mean |
値の母集団の算術平均値。 |
sumOfSquaredDeviation |
値の母集団の平均値からの偏差の平方和。x_i 値では、次になります。
Knuth の『The Art of Computer Programming』、Vol. 2、232 ページ、第 3 版では、1 回のパスでこの合計値を蓄積するためのウェルフォードの方法を記載しています。
|
range |
指定された場合、値の母集団の範囲が含まれます。 |
bucketOptions |
ヒストグラムのバケットの境界を定義します。分布にヒストグラムが含まれていない場合は、このフィールドを省略します。 |
bucketCounts[] |
ヒストグラムの各バケット内の値の数( 存在する場合、
|
exemplars[] |
|
範囲
値の母集団の範囲。
JSON 表現 |
---|
{ "min": number, "max": number } |
フィールド | |
---|---|
min |
値の母集団の最小値。 |
max |
値の母集団の最大値。 |
BucketOptions
BucketOptions
は、分布のヒストグラムの作成に使用されるバケット境界を表します。バケットは、線形シーケンスまたは指数シーケンスにできます。また、各バケットを明示的に指定することもできます。BucketOptions
には、各バケットの値の数は含まれません。
バケットには、そのバケットにカウントされる値の包括的下限と排他的上限があります。バケットの上限は下限よりも大きくする必要があります。分布の N 個のバケットのシーケンスは、アンダーフロー バケット(番号 0)、ゼロ以上の有限バケット(番号 1 から N - 2 )、オーバーフロー バケット(番号 N - 1)で構成されています。バケットは連続しています。i バケットの下限 i(i > 0)は、i - 1 バケットの上限と同じです。バケットは有限の値の全範囲に及びます。アンダーフロー バケットの下限は -infinity、オーバーフロー バケットの上限は +infinity です。有限のバケットは両方の境界が有限です。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド options 。これらの 3 つのフィールドのいずれかを設定する必要があります。options は次のいずれかになります。 |
|
linearBuckets |
線形バケット。 |
exponentialBuckets |
指数関数的バケット。 |
explicitBuckets |
明示的なバケット。 |
線形
すべて同じ幅(オーバーフローおよびアンダーフローを除く)のバケットの線形シーケンスを指定します。各バケットは、バケット内の特定の値で一定の絶対的な不確実性を表します。
numFiniteBuckets + 2
(= N)個のバケットがあります。バケット i
には次の境界があります。
上限(0 <= i < N-1): オフセット + (幅 × i)。
下限(1 <= i < N): オフセット + (幅 × (i - 1))。
JSON 表現 |
---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
フィールド | |
---|---|
numFiniteBuckets |
0 より大きくする必要があります。 |
width |
0 より大きくする必要があります。 |
offset |
最初のバケットの下限。 |
指数関数的
下限の値に比例する幅を持つ指数関数的なバケット シーケンスを指定します。各バケットは、バケット内の特定の値に一定の相対的な不確実性を表します。
numFiniteBuckets + 2
(= N)個のバケットがあります。バケット i
には次の境界があります。
上限(0 <= i < N-1): スケール × (growthFactor ^ i)。
下限(1 <= i < N): スケール × (growthFactor ^ (i - 1))。
JSON 表現 |
---|
{ "numFiniteBuckets": integer, "growthFactor": number, "scale": number } |
フィールド | |
---|---|
numFiniteBuckets |
0 より大きくする必要があります。 |
growthFactor |
1 より大きくする必要があります。 |
scale |
0 より大きくする必要があります。 |
明示的
任意の幅のバケットのセットを指定します。
size(bounds) + 1
(= N)個のバケットがあります。バケット i
には次の境界があります。
上限(0 <= i < N-1): 境界 [i] 下限(1 <= i < N); 境界 [i - 1]
bounds
フィールドには、少なくとも 1 つの要素を含める必要があります。bounds
に要素が 1 つしかない場合、有限バケットはなく、その要素がオーバーフロー バケットとアンダーフロー バケットの共通の境界になります。
JSON 表現 |
---|
{ "bounds": [ number ] } |
フィールド | |
---|---|
bounds[] |
値は単調に増加しなければなりません。 |
エグザンプラ
エグザンプラは、集計された分布値にアノテーションを付けるために使用できるサンプル ポイントです。これらは、値が追加されたときにアクティブだったトレース ID など、分布バケットに追加された特定の値に関する情報を提供するメタデータです。サンプル値、タイムスタンプ、送信元などの追加情報が含まれる場合があります。
JSON 表現 |
---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
フィールド | |
---|---|
value |
エグザンプラ ポイントの値。この値は、エグザンプラがどのバケットに属するかを決定します。 |
timestamp |
上記の値の観測(サンプリング)時間。 |
attachments[] |
サンプル値に関するコンテキスト情報。例: トレース: type.googleapis.com/google.monitoring.v3.SpanContext リテラル文字列: type.googleapis.com/google.protobuf.StringValue 集計中にドロップされたラベル: type.googleapis.com/google.monitoring.v3.DroppedLabels 1 つのメッセージの種類につき、1 つのエグザンプラに 1 つのアタッチメントしか存在できません。これはシステムによって強制されます。 |