Distribution
berisi statistik ringkasan untuk populasi nilai. Secara opsional, histogram berisi histogram yang mewakili distribusi nilai-nilai tersebut di seluruh set bucket.
Statistik ringkasan adalah jumlah, rerata, jumlah deviasi kuadrat dari rerata, minimum, dan maksimum kumpulan nilai populasi. Histogram didasarkan pada urutan bucket dan memberikan jumlah nilai yang jatuh ke dalam setiap bucket. Batas bucket diberikan secara eksplisit atau oleh formula untuk bucket dengan lebar tetap atau yang meningkat secara eksponensial.
Meskipun tidak dilarang, umumnya tidak disarankan untuk menyertakan nilai yang tidak terbatas (tak terbatas atau NaN) dalam populasi nilai, karena ini akan merender kolom mean
dan sumOfSquaredDeviation
menjadi tidak bermakna.
Representasi JSON |
---|
{ "count": string, "mean": number, "sumOfSquaredDeviation": number, "range": { object ( |
Kolom | |
---|---|
count |
Jumlah nilai dalam populasi. Tidak boleh negatif. Nilai ini harus sama dengan jumlah nilai di |
mean |
Rata-rata aritmatika dari nilai-nilai dalam populasi. Jika |
sumOfSquaredDeviation |
Jumlah deviasi kuadrat dari rerata nilai dalam populasi. Untuk nilai x_i, ini adalah:
Knuth, "The Art of Computer Programming", Vol. 2, halaman 232, edisi 3 menjelaskan metode Welford untuk mengumpulkan jumlah ini dalam satu pass. Jika |
range |
Jika ditentukan, berisi rentang nilai populasi. Kolom ini tidak boleh ada jika |
bucketOptions |
Menentukan batas bucket histogram. Jika distribusi tidak berisi histogram, hapus kolom ini. |
bucketCounts[] |
Jumlah nilai dalam setiap bucket histogram, seperti yang dijelaskan dalam Jika ada, Urutan nilai dalam |
exemplars[] |
Harus dalam urutan peningkatan kolom |
Rentang
Rentang nilai populasi.
Representasi JSON |
---|
{ "min": number, "max": number } |
Kolom | |
---|---|
min |
Nilai minimum populasi. |
max |
Nilai maksimum dari nilai populasi. |
BucketOptions
BucketOptions
menjelaskan batas bucket yang digunakan untuk membuat histogram untuk distribusi. Bucket dapat berada dalam urutan linear, urutan eksponensial, atau setiap bucket dapat ditentukan secara eksplisit. BucketOptions
tidak mencakup jumlah nilai di setiap bucket.
Bucket memiliki batas bawah inklusif dan batas atas eksklusif untuk nilai yang dihitung untuk bucket tersebut. Batas atas bucket harus benar-benar lebih besar dari batas bawah. Urutan N bucket untuk distribusi terdiri dari bucket underflow (angka 0), bucket dengan nol atau beberapa terbatas (nomor 1 sampai N - 2) dan bucket luapan (nomor N - 1). Bucket berdekatan: batas bawah bucket i (i > 0) sama dengan batas atas bucket i - 1. Bucket mencakup seluruh rentang nilai terbatas: batas bawah bucket underflow adalah -tak terhingga dan batas atas bucket overflow adalah +tak terhingga. Bucket terbatas disebut karena kedua batas bersifat terbatas.
Representasi JSON |
---|
{ // Union field |
Kolom | |
---|---|
Kolom union options . Tepat satu dari ketiga kolom ini yang harus ditetapkan. options hanya ada berupa salah satu diantara berikut: |
|
linearBuckets |
Bucket linear. |
exponentialBuckets |
Bucket eksponensial. |
explicitBuckets |
Bucket eksplisit. |
Linear
Menentukan urutan linear bucket yang semuanya memiliki lebar yang sama (kecuali overflow dan underflow). Setiap bucket merepresentasikan ketidakpastian absolut yang konstan terkait nilai tertentu dalam bucket.
Ada numFiniteBuckets + 2
(= N) bucket. Bucket i
memiliki batas berikut:
Batas atas (0 <= i < N-1): offset + (lebar * i).
Batas bawah (1 <= i < N): offset + (lebar * (i - 1)).
Representasi JSON |
---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
Kolom | |
---|---|
numFiniteBuckets |
Harus lebih besar dari 0. |
width |
Harus lebih besar dari 0. |
offset |
Batas bawah bucket pertama. |
Eksponensial
Menentukan urutan eksponensial bucket yang memiliki lebar yang proporsional dengan nilai batas bawah. Setiap bucket mewakili ketidakpastian relatif yang konstan terhadap nilai tertentu dalam bucket.
Ada numFiniteBuckets + 2
(= N) bucket. Bucket i
memiliki batas berikut:
Batas atas (0 <= i < N-1): skala * (growthFactor ^ i).
Batas bawah (1 <= i < N): skala * (Faktor pertumbuhan ^ (i - 1)).
Representasi JSON |
---|
{ "numFiniteBuckets": integer, "growthFactor": number, "scale": number } |
Kolom | |
---|---|
numFiniteBuckets |
Harus lebih besar dari 0. |
growthFactor |
Harus lebih besar dari 1. |
scale |
Harus lebih besar dari 0. |
Eksplisit
Menentukan kumpulan bucket dengan lebar arbitrer.
Ada size(bounds) + 1
(= N) bucket. Bucket i
memiliki batas berikut:
Batas atas (0 <= i < N-1): batas[i] Batas bawah (1 <= i < N); batas[i - 1]
Kolom bounds
harus berisi setidaknya satu elemen. Jika bounds
hanya memiliki satu elemen, maka tidak ada bucket terbatas, dan satu elemen tersebut adalah batas umum bucket luapan dan aliran bawah.
Representasi JSON |
---|
{ "bounds": [ number ] } |
Kolom | |
---|---|
bounds[] |
Nilai harus meningkat secara monoton. |
Contoh
Contoh adalah titik contoh yang dapat digunakan untuk membuat anotasi nilai distribusi gabungan. Objek ini adalah metadata yang memberikan informasi tentang nilai tertentu yang ditambahkan ke bucket Distribusi, seperti ID trace yang aktif saat nilai ditambahkan. File ini dapat berisi informasi lebih lanjut, seperti nilai contoh dan stempel waktu, asal, dll.
Representasi JSON |
---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
Kolom | |
---|---|
value |
Nilai titik contoh. Nilai ini menentukan di bucket mana contoh tersebut berada. |
timestamp |
Waktu pengamatan (pengambilan sampel) nilai di atas. |
attachments[] |
Informasi kontekstual tentang nilai contoh. Contohnya antara lain: Rekaman aktivitas: type.googleapis.com/google.monitoring.v3.SpanContext String literal: type.googleapis.com/google.protobuf.StringValue Label dihapus selama agregasi: type.googleapis.com/google.monitoring.v3.DroppedLabels Mungkin hanya ada satu lampiran dari setiap jenis pesan dalam contoh tunggal, dan ini ditegakkan oleh sistem. |