Distribution 包含值母體的摘要統計資料。其中可選擇性包含直方圖,代表這些值在一組值區中的分布情形。
摘要統計資料包括值母體的計數、平均值、與平均值的平方偏差總和、最小值和最大值。直方圖是以一系列值區為基礎,並提供落入每個值區的值計數。範圍界限可明確指定,也可以透過公式計算,以取得固定或指數型遞增寬度的範圍。
雖然不禁止,但一般來說,在值母體中加入非有限值 (無限或 NaN) 並非好主意,因為這會使 mean 和 sumOfSquaredDeviation 欄位變得毫無意義。
| JSON 表示法 |
|---|
{ "count": string, "mean": number, "sumOfSquaredDeviation": number, "range": { object ( |
| 欄位 | |
|---|---|
count |
母體中的值數量。不得為負值。如果提供直方圖,這個值必須等於 |
mean |
母體中值的算術平均值。如果 |
sumOfSquaredDeviation |
母體中各值與平均值偏差的平方和。對於值 x_i,這是: Knuth 撰寫的「電腦程式設計的藝術」第 2 卷第 232 頁 (第 3 版) 說明瞭 Welford 的方法,可一次累加這個總和。 如果 |
range |
如已指定,則包含母體值的範圍。如果 |
bucketOptions |
定義直方圖值區界線。如果發布內容不含直方圖,請略過這個欄位。 |
bucketCounts[] |
直方圖中每個值區的值數量,如 如有提供,
|
exemplars[] |
必須依 |
範圍
母體值的範圍。
| JSON 表示法 |
|---|
{ "min": number, "max": number } |
| 欄位 | |
|---|---|
min |
母體值的最小值。 |
max |
母體值的最大值。 |
BucketOptions
BucketOptions 說明用於建立分布直方圖的範圍界線。值區可以是線性序列、指數序列,也可以明確指定每個值區。BucketOptions 不包含每個值區中的值數量。
值區的下限值 (含) 和上限值 (不含) 之間的值,都會計入該值區。值區上限必須嚴格大於下限。分布的 N 個值區序列包含欠位值區 (編號 0)、零或多個有限值區 (編號 1 到 N - 2) 和溢位值區 (編號 N - 1)。值區是連續的:值區 i (i > 0) 的下限與值區 i - 1 的上限相同。這些值區涵蓋整個有限值範圍:欠位值區的下界為負無限大,溢位值區的上界為正無限大。有限值區之所以稱為有限,是因為上下限都是有限值。
| JSON 表示法 |
|---|
{ // Union field |
| 欄位 | |
|---|---|
聯集欄位 options。必須設定這三個欄位中的其中一個。options 只能是下列其中一項: |
|
linearBuckets |
線性值區。 |
exponentialBuckets |
指數值區。 |
explicitBuckets |
明確的 bucket。 |
線性
指定線性序列的 bucket,這些 bucket 的寬度都相同 (溢位和下溢除外)。每個值區代表值區中特定值的常數絕對不確定度。
共有 numFiniteBuckets + 2 (= N) 個值區。值區 i 有下列邊界:
上限 (0 <= i < N-1):offset + (width * i)。
下限 (1 <= i < N):offset + (width * (i - 1))。
| JSON 表示法 |
|---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
| 欄位 | |
|---|---|
numFiniteBuckets |
必須大於 0。 |
width |
必須大於 0。 |
offset |
第一個特徵分塊的下限。 |
指數
指定寬度與下限值成正比的指數值區間序列。每個 bucket 代表 bucket 中特定值的相對不確定度常數。
共有 numFiniteBuckets + 2 (= N) 個值區。值區 i 有下列邊界:
上限 (0 <= i < N-1):scale * (growthFactor ^ i)。
下限 (1 <= i < N):scale * (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):bounds[i] 下限 (1 <= i < N):bounds[i - 1]
bounds 欄位必須包含至少一個元素。如果 bounds 只有一個元素,則沒有有限值區,而該單一元素是溢位和欠位值區的共同界線。
| JSON 表示法 |
|---|
{ "bounds": [ number ] } |
| 欄位 | |
|---|---|
bounds[] |
值必須單調遞增。 |
範例
範例點可用於註解匯總的分布值。這些中繼資料會提供有關新增至 Distribution 值區的特定值資訊,例如新增值時處於活動狀態的追蹤 ID。可能包含更多資訊,例如範例值和時間戳記、來源等。
| JSON 表示法 |
|---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
| 欄位 | |
|---|---|
value |
範例點的值。這個值會決定範例所屬的值區。 |
timestamp |
上述值的觀察 (取樣) 時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如: |
attachments[] |
範例值的背景資訊。例如: 追蹤:type.googleapis.com/google.monitoring.v3.SpanContext 字串常值:type.googleapis.com/google.protobuf.StringValue 在彙整期間捨棄的標籤:type.googleapis.com/google.monitoring.v3.DroppedLabels 單一範例中,每種訊息類型只能有一個附件,這是系統強制執行的規定。 包含任意類型欄位的物件。額外的 |