Distribution contiene statistiche riepilogative per una popolazione di valori. Contiene, facoltativamente, un istogramma che rappresenta la distribuzione di questi valori in un insieme di bucket.
Le statistiche riepilogative sono il conteggio, la media, la somma della deviazione quadratica dalla media, il minimo e il massimo dell'insieme di valori della popolazione. L'istogramma si basa su una sequenza di bucket e fornisce un conteggio dei valori che rientrano in ogni bucket. I limiti dei bucket sono forniti in modo esplicito o tramite formule per bucket di larghezza fissa o crescente in modo esponenziale.
Sebbene non sia vietato, in genere è una cattiva idea includere valori non finiti (infiniti o NaN) nella popolazione di valori, in quanto ciò renderà privi di significato i campi mean e sumOfSquaredDeviation.
| Rappresentazione JSON |
|---|
{ "count": string, "mean": number, "sumOfSquaredDeviation": number, "range": { object ( |
| Campi | |
|---|---|
count |
Il numero di valori nella popolazione. Non deve essere un valore negativo. Questo valore deve essere uguale alla somma dei valori in |
mean |
La media aritmetica dei valori nella popolazione. Se |
sumOfSquaredDeviation |
La somma degli scarti quadratici dalla media dei valori nella popolazione. Per i valori x_i, questo è: Knuth, "The Art of Computer Programming", Vol. 2, pagina 232, terza edizione, descrive il metodo di Welford per accumulare questa somma in un'unica passata. Se |
range |
Se specificato, contiene l'intervallo dei valori della popolazione. Il campo non deve essere presente se |
bucketOptions |
Definisce i limiti dei bucket dell'istogramma. Se la distribuzione non contiene un istogramma, ometti questo campo. |
bucketCounts[] |
Il numero di valori in ogni bucket dell'istogramma, come descritto in Se presente, L'ordine dei valori in |
exemplars[] |
Deve essere in ordine crescente del campo |
Intervallo
L'intervallo dei valori della popolazione.
| Rappresentazione JSON |
|---|
{ "min": number, "max": number } |
| Campi | |
|---|---|
min |
Il valore minimo della popolazione. |
max |
Il valore massimo della popolazione. |
BucketOptions
BucketOptions descrive i limiti dei bucket utilizzati per creare un istogramma per la distribuzione. I bucket possono essere in una sequenza lineare, in una sequenza esponenziale oppure ogni bucket può essere specificato in modo esplicito. BucketOptions non include il numero di valori in ogni bucket.
Un bucket ha un limite inferiore inclusivo e un limite superiore esclusivo per i valori conteggiati per quel bucket. Il limite superiore di un bucket deve essere strettamente maggiore del limite inferiore. La sequenza di N bucket per una distribuzione è costituita da un bucket di underflow (numero 0), da zero o più bucket finiti (numero da 1 a N - 2) e da un bucket di overflow (numero N - 1). I bucket sono contigui: il limite inferiore del bucket i (i > 0) è uguale al limite superiore del bucket i - 1. I bucket coprono l'intero intervallo di valori finiti: il limite inferiore del bucket di underflow è -infinito e il limite superiore del bucket di overflow è +infinito. I bucket finiti sono chiamati così perché entrambi i limiti sono finiti.
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione options. Deve essere impostato esattamente uno di questi tre campi. options può essere solo uno dei seguenti tipi: |
|
linearBuckets |
Il bucket lineare. |
exponentialBuckets |
I bucket esponenziali. |
explicitBuckets |
I bucket espliciti. |
Lineare
Specifica una sequenza lineare di bucket che hanno tutti la stessa larghezza (tranne overflow e underflow). Ogni bucket rappresenta un'incertezza assoluta costante sul valore specifico nel bucket.
Esistono numFiniteBuckets + 2 (= N) bucket. Il bucket i ha i seguenti limiti:
Limite superiore (0 <= i < N-1): offset + (larghezza * i).
Limite inferiore (1 <= i < N): offset + (larghezza * (i - 1)).
| Rappresentazione JSON |
|---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
| Campi | |
|---|---|
numFiniteBuckets |
Deve essere maggiore di 0. |
width |
Deve essere maggiore di 0. |
offset |
Limite inferiore del primo bucket. |
Esponenziale
Specifica una sequenza esponenziale di bucket con una larghezza proporzionale al valore del limite inferiore. Ogni bucket rappresenta un'incertezza relativa costante su un valore specifico nel bucket.
Esistono numFiniteBuckets + 2 (= N) bucket. Il bucket i ha i seguenti limiti:
Limite superiore (0 <= i < N-1): scale * (growthFactor ^ i).
Limite inferiore (1 <= i < N): scala * (growthFactor ^ (i - 1)).
| Rappresentazione JSON |
|---|
{ "numFiniteBuckets": integer, "growthFactor": number, "scale": number } |
| Campi | |
|---|---|
numFiniteBuckets |
Deve essere maggiore di 0. |
growthFactor |
Deve essere superiore a 1. |
scale |
Deve essere maggiore di 0. |
Esplicita
Specifica un insieme di bucket con larghezze arbitrarie.
Esistono size(bounds) + 1 (= N) bucket. Il bucket i ha i seguenti limiti:
Limite superiore (0 <= i < N-1): bounds[i] Limite inferiore (1 <= i < N); bounds[i - 1]
Il campo bounds deve contenere almeno un elemento. Se bounds ha un solo elemento, non esistono bucket finiti e l'unico elemento è il limite comune dei bucket di overflow e underflow.
| Rappresentazione JSON |
|---|
{ "bounds": [ number ] } |
| Campi | |
|---|---|
bounds[] |
I valori devono essere monotonicamente crescenti. |
Esemplare
Gli esemplari sono punti di esempio che possono essere utilizzati per annotare i valori di distribuzione aggregati. Si tratta di metadati che forniscono informazioni su un determinato valore aggiunto a un bucket di distribuzione, ad esempio un ID traccia attivo quando è stato aggiunto un valore. Possono contenere ulteriori informazioni, come valori ed timestamp di esempio, origine e così via.
| Rappresentazione JSON |
|---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
| Campi | |
|---|---|
value |
Valore del punto esemplare. Questo valore determina a quale bucket appartiene l'esemplare. |
timestamp |
L'ora di osservazione (campionamento) del valore precedente. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
attachments[] |
Informazioni contestuali sul valore di esempio. Alcuni esempi: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Stringa letterale: type.googleapis.com/google.protobuf.StringValue Etichette eliminate durante l'aggregazione: type.googleapis.com/google.monitoring.v3.DroppedLabels In un singolo esempio può essere presente un solo allegato di un determinato tipo di messaggio e questo viene applicato dal sistema. Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo |